Skip to content

Commit 4ad311e

Browse files
authored
Merge pull request #10 from rickgaiser/for-ps2dev
Regenerate VSM and fix tricked_out example
2 parents 73217bd + 9ce8c59 commit 4ad311e

27 files changed

+7547
-11121
lines changed

Makefile

Lines changed: 41 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ EE_LDFLAGS += -L. -L$(PS2SDK)/ports/lib
44
EE_INCS += -I./include -I./vu1 -I$(PS2SDK)/ports/include
55

66
ifeq ($(DEBUG), 1)
7-
EE_CFLAGS += -D_DEBUG -g -O0
8-
EE_CXXFLAGS += -D_DEBUG -g -O0
7+
EE_CFLAGS += -D_DEBUG
8+
EE_CXXFLAGS += -D_DEBUG
99
endif
1010

1111
# Disabling warnings
@@ -37,22 +37,26 @@ EE_OBJS = \
3737
src/renderermanager.o \
3838
src/texture.o
3939

40-
EE_OBJS += \
41-
vu1/fast_nolights.vo \
42-
vu1/fast.vo \
43-
vu1/general_nospec_quad.vo \
44-
vu1/general_nospec_tri.vo \
45-
vu1/general_nospec.vo \
46-
vu1/general_pv_diff_quad.vo \
47-
vu1/general_pv_diff_tri.vo \
48-
vu1/general_pv_diff.vo \
49-
vu1/general_quad.vo \
50-
vu1/general_tri.vo \
51-
vu1/general.vo \
52-
vu1/indexed.vo \
53-
vu1/scei.vo
54-
55-
all: $(EE_LIB)
40+
RENDERERS = \
41+
fast_nolights \
42+
fast \
43+
general_nospec_quad \
44+
general_nospec_tri \
45+
general_nospec \
46+
general_pv_diff_quad \
47+
general_pv_diff_tri \
48+
general_pv_diff \
49+
general_quad \
50+
general_tri \
51+
general \
52+
indexed \
53+
scei
54+
55+
EE_OBJS += $(addsuffix .vo, $(addprefix vu1/, $(RENDERERS)))
56+
57+
VSM_SOURCES = $(addsuffix _vcl.vsm, $(addprefix vu1/, $(RENDERERS)))
58+
59+
all: $(VSM_SOURCES) $(EE_LIB)
5660

5761
install: all
5862
mkdir -p $(PS2SDK)/ports/include
@@ -67,15 +71,28 @@ clean:
6771
realclean: clean
6872
rm -rf $(PS2SDK)/ports/include/ps2gl
6973
rm -f $(PS2SDK)/ports/lib/$(EE_LIB)
74+
rm -f $(VSM_SOURCES)
7075

7176
include $(PS2SDK)/Defs.make
7277
include $(PS2SDK)/samples/Makefile.eeglobal
7378

74-
#%.vsm: %.pp.vcl
75-
# openvcl -o $@ $<
76-
77-
#%.pp.vcl: %.vcl
78-
# vclpp $< $@ -j
79-
8079
%.vo: %_vcl.vsm
8180
dvp-as -o $@ $<
81+
82+
%_vcl.vsm: %_pp4.vcl
83+
vcl -o$@ $<
84+
85+
%indexed_pp4.vcl: %indexed_pp3.vcl
86+
cat $< | cc -E -P -imacros vu1/vu1_mem_indexed.h -o $@ -
87+
88+
%_pp4.vcl: %_pp3.vcl
89+
cat $< | cc -E -P -imacros vu1/vu1_mem_linear.h -o $@ -
90+
91+
%_pp3.vcl: %_pp2.vcl
92+
cat $< | sed 's/\[\([0-9]\)\]/_\1/g ; s/\[\([w-zW-Z]\)\]/\1/g' - > $@
93+
94+
%_pp2.vcl: %_pp1.vcl
95+
gasp -c ';' -Ivu1 -o $@ $<
96+
97+
%_pp1.vcl: %.vcl
98+
cat $< | sed 's/#include[ ]\+.\+// ; s/#define[ ]\+.\+// ; s|\(\.include[ ]\+\)"\([^/].\+\)"|\1"$(<D)/\2"|' - > $@

examples/box/Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@ EE_LDFLAGS += -L$(PS2SDK)/ports/lib
66
EE_LIBS = -lps2glut -lps2gl -lps2stuff -lpad -ldma
77

88
ifeq ($(DEBUG), 1)
9-
EE_CFLAGS += -D_DEBUG -g -O0
10-
EE_CXXFLAGS += -D_DEBUG -g -O0
9+
EE_CFLAGS += -D_DEBUG
10+
EE_CXXFLAGS += -D_DEBUG
1111
endif
1212

1313
# Disabling warnings
1414
WARNING_FLAGS = -Wno-strict-aliasing -Wno-conversion-null
1515

1616
# VU0 code is broken so disable for now
17-
EE_CFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS
18-
EE_CXXFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS
17+
EE_CFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS -DNO_ASM
18+
EE_CXXFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS -DNO_ASM
1919

2020
all: $(EE_BIN)
2121
$(EE_STRIP) --strip-all $(EE_BIN)

examples/logo/Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@ EE_LDFLAGS += -L$(PS2SDK)/ports/lib
66
EE_LIBS = -lps2glut -lps2gl -lps2stuff -lpad -ldma
77

88
ifeq ($(DEBUG), 1)
9-
EE_CFLAGS += -D_DEBUG -g -O0
10-
EE_CXXFLAGS += -D_DEBUG -g -O0
9+
EE_CFLAGS += -D_DEBUG
10+
EE_CXXFLAGS += -D_DEBUG
1111
endif
1212

1313
# Disabling warnings
1414
WARNING_FLAGS = -Wno-strict-aliasing -Wno-conversion-null
1515

1616
# VU0 code is broken so disable for now
17-
EE_CFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS
18-
EE_CXXFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS
17+
EE_CFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS -DNO_ASM
18+
EE_CXXFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS -DNO_ASM
1919

2020
all: $(EE_BIN)
2121

examples/nehe/lesson02/Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@ EE_LDFLAGS += -L$(PS2SDK)/ports/lib
66
EE_LIBS = -lps2glut -lps2gl -lps2stuff -lpad -ldma
77

88
ifeq ($(DEBUG), 1)
9-
EE_CFLAGS += -D_DEBUG -g -O0
10-
EE_CXXFLAGS += -D_DEBUG -g -O0
9+
EE_CFLAGS += -D_DEBUG
10+
EE_CXXFLAGS += -D_DEBUG
1111
endif
1212

1313
# Disabling warnings
1414
WARNING_FLAGS = -Wno-strict-aliasing -Wno-conversion-null
1515

1616
# VU0 code is broken so disable for now
17-
EE_CFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS
18-
EE_CXXFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS
17+
EE_CFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS -DNO_ASM
18+
EE_CXXFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS -DNO_ASM
1919

2020
all: $(EE_BIN)
2121
$(EE_STRIP) --strip-all $(EE_BIN)

examples/nehe/lesson03/Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@ EE_LDFLAGS += -L$(PS2SDK)/ports/lib
66
EE_LIBS = -lps2glut -lps2gl -lps2stuff -lpad -ldma
77

88
ifeq ($(DEBUG), 1)
9-
EE_CFLAGS += -D_DEBUG -g -O0
10-
EE_CXXFLAGS += -D_DEBUG -g -O0
9+
EE_CFLAGS += -D_DEBUG
10+
EE_CXXFLAGS += -D_DEBUG
1111
endif
1212

1313
# Disabling warnings
1414
WARNING_FLAGS = -Wno-strict-aliasing -Wno-conversion-null
1515

1616
# VU0 code is broken so disable for now
17-
EE_CFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS
18-
EE_CXXFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS
17+
EE_CFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS -DNO_ASM
18+
EE_CXXFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS -DNO_ASM
1919

2020
all: $(EE_BIN)
2121
$(EE_STRIP) --strip-all $(EE_BIN)

examples/nehe/lesson04/Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@ EE_LDFLAGS += -L$(PS2SDK)/ports/lib
66
EE_LIBS = -lps2glut -lps2gl -lps2stuff -lpad -ldma
77

88
ifeq ($(DEBUG), 1)
9-
EE_CFLAGS += -D_DEBUG -g -O0
10-
EE_CXXFLAGS += -D_DEBUG -g -O0
9+
EE_CFLAGS += -D_DEBUG
10+
EE_CXXFLAGS += -D_DEBUG
1111
endif
1212

1313
# Disabling warnings
1414
WARNING_FLAGS = -Wno-strict-aliasing -Wno-conversion-null
1515

1616
# VU0 code is broken so disable for now
17-
EE_CFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS
18-
EE_CXXFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS
17+
EE_CFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS -DNO_ASM
18+
EE_CXXFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS -DNO_ASM
1919

2020
all: $(EE_BIN)
2121
$(EE_STRIP) --strip-all $(EE_BIN)

examples/nehe/lesson05/Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@ EE_LDFLAGS += -L$(PS2SDK)/ports/lib
66
EE_LIBS = -lps2glut -lps2gl -lps2stuff -lpad -ldma
77

88
ifeq ($(DEBUG), 1)
9-
EE_CFLAGS += -D_DEBUG -g -O0
10-
EE_CXXFLAGS += -D_DEBUG -g -O0
9+
EE_CFLAGS += -D_DEBUG
10+
EE_CXXFLAGS += -D_DEBUG
1111
endif
1212

1313
# Disabling warnings
1414
WARNING_FLAGS = -Wno-strict-aliasing -Wno-conversion-null
1515

1616
# VU0 code is broken so disable for now
17-
EE_CFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS
18-
EE_CXXFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS
17+
EE_CFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS -DNO_ASM
18+
EE_CXXFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS -DNO_ASM
1919

2020
all: $(EE_BIN)
2121
$(EE_STRIP) --strip-all $(EE_BIN)

examples/performance/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ endif
1414
WARNING_FLAGS = -Wno-strict-aliasing -Wno-conversion-null
1515

1616
# VU0 code is broken so disable for now
17-
EE_CFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS
18-
EE_CXXFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS
17+
EE_CFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS -DNO_ASM
18+
EE_CXXFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS -DNO_ASM
1919

2020
all: $(EE_BIN)
2121
$(EE_STRIP) --strip-all $(EE_BIN)

examples/tricked_out/Makefile

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
EE_BIN = tricked_out.elf
2-
EE_CFLAGS := -I$(PS2SDK)/ports/include -I../shared_code/ $(EE_CFLAGS)
3-
EE_CXXFLAGS := -I$(PS2SDK)/ports/include -I../shared_code/ $(EE_CXXFLAGS)
4-
EE_OBJS = tricked_out.o bollboard_renderer.o ../shared_code/text_stuff.o
2+
EE_CFLAGS := -I$(PS2SDK)/ports/include -I../shared_code/ -I../../vu1 $(EE_CFLAGS)
3+
EE_CXXFLAGS := -I$(PS2SDK)/ports/include -I../shared_code/ -I../../vu1 $(EE_CXXFLAGS)
4+
EE_OBJS = tricked_out.o billboard_renderer.o ../shared_code/text_stuff.o billboard_renderer.vo
55
EE_LDFLAGS += -L$(PS2SDK)/ports/lib
66
EE_LIBS = -lps2glut -lps2gl -lps2stuff -lpad -ldma
77

88
ifeq ($(DEBUG), 1)
9-
EE_CFLAGS += -D_DEBUG -g -O0
10-
EE_CXXFLAGS += -D_DEBUG -g -O0
9+
EE_CFLAGS += -D_DEBUG
10+
EE_CXXFLAGS += -D_DEBUG
1111
endif
1212

1313
# Disabling warnings
1414
WARNING_FLAGS = -Wno-strict-aliasing -Wno-conversion-null
1515

1616
# VU0 code is broken so disable for now
17-
EE_CFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS
18-
EE_CXXFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS
17+
EE_CFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS -DNO_ASM
18+
EE_CXXFLAGS += $(WARNING_FLAGS) -DNO_VU0_VECTORS -DNO_ASM
1919

2020
all: $(EE_BIN)
2121
$(EE_STRIP) --strip-all $(EE_BIN)
@@ -34,3 +34,6 @@ sim: $(EE_BIN)
3434

3535
include $(PS2SDK)/samples/Makefile.pref
3636
include $(PS2SDK)/samples/Makefile.eeglobal_cpp
37+
38+
%.vo: %_vcl.vsm
39+
dvp-as -o $@ $<

examples/tricked_out/billboard_renderer.cpp

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,19 @@
2424
* code
2525
*/
2626

27-
void* CBillboardRenderer::Microcode = NULL;
27+
#define VU_FUNCTIONS(name) \
28+
void vsm##name##_CodeStart(); \
29+
void vsm##name##_CodeEnd()
2830

29-
extern "C" void vsmBillboards();
30-
extern "C" void vsmBillboardsEnd();
31+
#define mVsmAddr(name) ((void*)vsm##name##_CodeStart)
32+
#define mVsmSize(name) ((u8*)vsm##name##_CodeEnd - (u8*)vsm##name##_CodeStart)
33+
34+
extern "C" {
35+
VU_FUNCTIONS(Billboards);
36+
}
3137

3238
CBillboardRenderer::CBillboardRenderer()
33-
: CLinearRenderer(Microcode,
39+
: CLinearRenderer(mVsmAddr(Billboards), mVsmSize(Billboards),
3440
1, // 1 input quad per vertex
3541
0, // the number of output quads per vert doesn't actually matter
3642
// (it's only used for strips)
@@ -45,8 +51,6 @@ CBillboardRenderer::CBillboardRenderer()
4551
CBillboardRenderer*
4652
CBillboardRenderer::Register()
4753
{
48-
Microcode = (void*)vsmBillboards;
49-
5054
// create a renderer and register it
5155

5256
CBillboardRenderer* renderer = new CBillboardRenderer;
@@ -110,7 +114,7 @@ void CBillboardRenderer::InitContext(GLenum primType, tU32 rcChanges, bool userR
110114

111115
bool alpha = drawContext.GetBlendEnabled();
112116
bool useTexture = glContext.GetTexManager().GetTexEnabled();
113-
GS::tPrim prim = { PRIM : 6, IIP : 0, TME : useTexture, FGE : 0, ABE : alpha, AA1 : 0, FST : 0, CTXT : 0, FIX : 0 };
117+
GS::tPrim prim = { prim_type : 6, iip : 0, tme : useTexture, fge : 0, abe : alpha, aa1 : 0, fst : 0, ctxt : 0, fix : 0 };
114118
tGifTag giftag = { NLOOP : 0, EOP : 1, pad0 : 0, id : 0, PRE : 1, PRIM : *(tU64*)&prim, FLG : 0, NREG : 4, REGS0 : 2, REGS1 : 4, REGS2 : 2, REGS3 : 4 };
115119

116120
packet.Pad96();

0 commit comments

Comments
 (0)