]> Chaos Git - corbenik/ctrulib.git/commitdiff
GPU_SetUniform -> GPU_SetFloatUniform
authorsmea <smealum@gmail.com>
Sat, 3 Jan 2015 05:16:17 +0000 (21:16 -0800)
committersmea <smealum@gmail.com>
Sat, 3 Jan 2015 05:16:17 +0000 (21:16 -0800)
libctru/include/3ds/gpu/gpu.h
libctru/source/gpu/gpu.c

index 63732400a1bc7077ea1f3ae876404dda612f3db4..932a48a8434f21c94410ad55a9d1162383151d01 100644 (file)
@@ -208,7 +208,7 @@ typedef enum{
        GPU_GEOMETRY_SHADER=0x1
 }GPU_SHADER_TYPE;
 
-void GPU_SetUniform(u32 startreg, u32* data, u32 numreg);
+void GPU_SetFloatUniform(GPU_SHADER_TYPE type, u32 startreg, u32* data, u32 numreg);
 
 void GPU_SetViewport(u32* depthBuffer, u32* colorBuffer, u32 x, u32 y, u32 w, u32 h);
 
index e32265b2a33185ec5127856d8509cc38cbd11095..14ae0fa110240f58908bd8c1a4583e120d804c97 100644 (file)
@@ -218,12 +218,14 @@ void GPU_Reset(u32* gxbuf, u32* gpuBuf, u32 gpuBufSize)
        GPUCMD_Run(gpuBuf);
 }
 
-void GPU_SetUniform(u32 startreg, u32* data, u32 numreg)
+void GPU_SetFloatUniform(GPU_SHADER_TYPE type, u32 startreg, u32* data, u32 numreg)
 {
        if(!data)return;
 
-       GPUCMD_AddWrite(GPUREG_VSH_FLOATUNIFORM_CONFIG, 0x80000000|startreg);
-       GPUCMD_AddWrites(GPUREG_VSH_FLOATUNIFORM_DATA, data, numreg*4);
+       u32 regOffset=(type==GPU_GEOMETRY_SHADER)?(-0x30):(0x0);
+
+       GPUCMD_AddWrite(GPUREG_VSH_FLOATUNIFORM_CONFIG-regOffset, 0x80000000|startreg);
+       GPUCMD_AddWrites(GPUREG_VSH_FLOATUNIFORM_DATA-regOffset, data, numreg*4);
 }
 
 //TODO : fix