]> Chaos Git - corbenik/ctrulib.git/commitdiff
Correct GPU_DrawArray() parameter order, fix GPU examples
authorfincs <fincs.alt1@gmail.com>
Sat, 5 Sep 2015 16:02:06 +0000 (18:02 +0200)
committerfincs <fincs.alt1@gmail.com>
Sat, 5 Sep 2015 16:02:06 +0000 (18:02 +0200)
examples/graphics/gpu/geoshader/source/main.c
examples/graphics/gpu/simple_tri/source/main.c
examples/graphics/gpu/textured_cube/source/main.c
libctru/include/3ds/gpu/gpu.h
libctru/source/gpu/gpu.c

index a2c9998070341d87cdb8f652dba452250bd8e448..b49db2f8e0288385ddafc51be690b301f675c2c8 100644 (file)
@@ -83,7 +83,7 @@ static void sceneRender(void)
        GPU_SetFloatUniformMatrix(GPU_GEOMETRY_SHADER, uLoc_projection, &projection);
 
        // Draw the VBO - GPU_UNKPRIM allows the geoshader to control primitive emission
-       GPU_DrawArray(GPU_UNKPRIM, vertex_list_count);
+       GPU_DrawArray(GPU_UNKPRIM, 0, vertex_list_count);
 }
 
 static void sceneExit(void)
index d82cc1213f505eb444d6716246618d3e7a739243..656fb7022dc9489c8296291c6707edab0f75e169 100644 (file)
@@ -76,7 +76,7 @@ static void sceneRender(void)
        GPU_SetFloatUniformMatrix(GPU_VERTEX_SHADER, uLoc_projection, &projection);
 
        // Draw the VBO
-       GPU_DrawArray(GPU_TRIANGLES, vertex_list_count);
+       GPU_DrawArray(GPU_TRIANGLES, 0, vertex_list_count);
 }
 
 static void sceneExit(void)
index d8274b7af3e75dd7a23b4efebdae0b9a51f3e5fe..f4e13a15e513cddc7dbaccb23b9cda05c0c441c2 100644 (file)
@@ -186,7 +186,7 @@ static void sceneRender(void)
        GPU_SetFloatUniform(GPU_VERTEX_SHADER, uLoc_lightClr,     (u32*)(float[]){1.0f,  1.0f, 1.0f, 1.0f}, 1);
 
        // Draw the VBO
-       GPU_DrawArray(GPU_TRIANGLES, vertex_list_count);
+       GPU_DrawArray(GPU_TRIANGLES, 0, vertex_list_count);
 }
 
 static void sceneExit(void)
index e2b3ac3c6ecfdb810eb5b4d24f50b6e85d9700e4..5a48103dddfa41574d93bd42fdabffefca2bc975 100644 (file)
@@ -294,7 +294,7 @@ void GPU_SetTexture(GPU_TEXUNIT unit, u32* data, u16 width, u16 height, u32 para
 void GPU_SetTextureBorderColor(GPU_TEXUNIT unit,u32 borderColor);
 void GPU_SetTexEnv(u8 id, u16 rgbSources, u16 alphaSources, u16 rgbOperands, u16 alphaOperands, GPU_COMBINEFUNC rgbCombine, GPU_COMBINEFUNC alphaCombine, u32 constantColor);
 
-void GPU_DrawArray(GPU_Primitive_t primitive, u32 n, u32 first);
+void GPU_DrawArray(GPU_Primitive_t primitive, u32 first, u32 count);
 void GPU_DrawElements(GPU_Primitive_t primitive, u32* indexArray, u32 n);
 void GPU_FinishDrawing();
 
index 7483294c118210f76a17f4285ead312d0bf2bab2..04294443942b1a096e165361748eb8b8e489b87e 100644 (file)
@@ -485,7 +485,7 @@ void GPU_SetTexEnv(u8 id, u16 rgbSources, u16 alphaSources, u16 rgbOperands, u16
        GPUCMD_AddIncrementalWrites(GPUREG_0000|GPU_TEVID[id], param, 0x00000005);
 }
 
-void GPU_DrawArray(GPU_Primitive_t primitive, u32 n, u32 first)
+void GPU_DrawArray(GPU_Primitive_t primitive, u32 first, u32 count)
 {
        //set primitive type
        GPUCMD_AddMaskedWrite(GPUREG_PRIMITIVE_CONFIG, 0x2, primitive);
@@ -493,7 +493,7 @@ void GPU_DrawArray(GPU_Primitive_t primitive, u32 n, u32 first)
        //index buffer address register should be cleared (except bit 31) before drawing
        GPUCMD_AddWrite(GPUREG_INDEXBUFFER_CONFIG, 0x80000000);
        //pass number of vertices
-       GPUCMD_AddWrite(GPUREG_NUMVERTICES, n);
+       GPUCMD_AddWrite(GPUREG_NUMVERTICES, count);
        //set first vertex
        GPUCMD_AddWrite(GPUREG_DRAW_VERTEX_OFFSET, first);