Home | History | Annotate | Download | only in main

Lines Matching full:ctx

92    void (*Execute)( struct gl_context *ctx, void *data );
93 void (*Destroy)( struct gl_context *ctx, void *data );
94 void (*Print)( struct gl_context *ctx, void *data );
114 * \param ctx GL context.
120 #define SAVE_FLUSH_VERTICES(ctx) \
122 if (ctx->Driver.SaveNeedFlush) \
123 ctx->Driver.SaveFlushVertices(ctx); \
131 * \param ctx GL context.
134 #define ASSERT_OUTSIDE_SAVE_BEGIN_END_WITH_RETVAL(ctx, retval) \
136 if (ctx->Driver.CurrentSavePrimitive <= GL_POLYGON || \
137 ctx->Driver.CurrentSavePrimitive == PRIM_INSIDE_UNKNOWN_PRIM) { \
138 _mesa_compile_error( ctx, GL_INVALID_OPERATION, "glBegin/End" ); \
147 * \param ctx GL context.
149 #define ASSERT_OUTSIDE_SAVE_BEGIN_END(ctx) \
151 if (ctx->Driver.CurrentSavePrimitive <= GL_POLYGON || \
152 ctx->Driver.CurrentSavePrimitive == PRIM_INSIDE_UNKNOWN_PRIM) { \
153 _mesa_compile_error( ctx, GL_INVALID_OPERATION, "glBegin/End" ); \
162 * \param ctx GL context.
164 #define ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx) \
166 ASSERT_OUTSIDE_SAVE_BEGIN_END(ctx); \
167 SAVE_FLUSH_VERTICES(ctx); \
174 * \param ctx GL context.
177 #define ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH_WITH_RETVAL(ctx, retval)\
179 ASSERT_OUTSIDE_SAVE_BEGIN_END_WITH_RETVAL(ctx, retval); \
180 SAVE_FLUSH_VERTICES(ctx); \
586 lookup_list(struct gl_context *ctx, GLuint list)
589 _mesa_HashLookup(ctx->Shared->DisplayList, list);
603 ext_opcode_destroy(struct gl_context *ctx, Node *node)
607 ctx->ListExt->Opcode[i].Destroy(ctx, &node[1]);
608 step = ctx->ListExt->Opcode[i].Size;
615 ext_opcode_execute(struct gl_context *ctx, Node *node)
619 ctx->ListExt->Opcode[i].Execute(ctx, &node[1]);
620 step = ctx->ListExt->Opcode[i].Size;
627 ext_opcode_print(struct gl_context *ctx, Node *node)
631 ctx->ListExt->Opcode[i].Print(ctx, &node[1]);
632 step = ctx->ListExt->Opcode[i].Size;
642 _mesa_delete_list(struct gl_context *ctx, struct gl_display_list *dlist)
655 n += ext_opcode_destroy(ctx, n);
820 destroy_list(struct gl_context *ctx, GLuint list)
827 dlist = lookup_list(ctx, list);
831 _mesa_delete_list(ctx, dlist);
832 _mesa_HashRemove(ctx->Shared->DisplayList, list);
908 unpack_image(struct gl_context *ctx, GLuint dimensions,
932 _mesa_error(ctx, GL_OUT_OF_MEMORY, "display list construction");
942 ctx->Driver.MapBufferRange(ctx, 0, unpack->BufferObj->Size,
946 _mesa_error(ctx, GL_INVALID_OPERATION, "unable to map PBO");
957 ctx->Driver.UnmapBuffer(ctx, unpack->BufferObj);
960 _mesa_error(ctx, GL_OUT_OF_MEMORY, "display list construction");
966 _mesa_error(ctx, GL_INVALID_OPERATION, "invalid PBO access");
977 dlist_alloc(struct gl_context *ctx, OpCode opcode, GLuint bytes)
993 if (ctx->ListState.CurrentPos + numNodes + 2 > BLOCK_SIZE) {
996 n = ctx->ListState.CurrentBlock + ctx->ListState.CurrentPos;
1000 _mesa_error(ctx, GL_OUT_OF_MEMORY, "Building display list");
1004 ctx->ListState.CurrentBlock = newblock;
1005 ctx->ListState.CurrentPos = 0;
1008 n = ctx->ListState.CurrentBlock + ctx->ListState.CurrentPos;
1009 ctx->ListState.CurrentPos += numNodes;
1028 _mesa_dlist_alloc(struct gl_context *ctx, GLuint opcode, GLuint bytes)
1030 Node *n = dlist_alloc(ctx, (OpCode) opcode, bytes);
1041 * \param ctx the rendering context
1049 _mesa_dlist_alloc_opcode(struct gl_context *ctx,
1055 if (ctx->ListExt->NumOpcodes < MAX_DLIST_EXT_OPCODES) {
1056 const GLuint i = ctx->ListExt->NumOpcodes++;
1057 ctx->ListExt->Opcode[i].Size =
1059 ctx->ListExt->Opcode[i].Execute = execute;
1060 ctx->ListExt->Opcode[i].Destroy = destroy;
1061 ctx->ListExt->Opcode[i].Print = print;
1078 alloc_instruction(struct gl_context *ctx, OpCode opcode, GLuint nparams)
1080 return dlist_alloc(ctx, opcode, nparams * sizeof(Node));
1091 GET_CURRENT_CONTEXT(ctx);
1093 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1094 n = alloc_instruction(ctx, OPCODE_ACCUM, 2);
1099 if (ctx->ExecuteFlag) {
1100 CALL_Accum(ctx->Exec, (op, value));
1108 GET_CURRENT_CONTEXT(ctx);
1110 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1111 n = alloc_instruction(ctx, OPCODE_ALPHA_FUNC, 2);
1116 if (ctx->ExecuteFlag) {
1117 CALL_AlphaFunc(ctx->Exec, (func, ref));
1125 GET_CURRENT_CONTEXT(ctx);
1127 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1128 n = alloc_instruction(ctx, OPCODE_BIND_TEXTURE, 2);
1133 if (ctx->ExecuteFlag) {
1134 CALL_BindTexture(ctx->Exec, (target, texture));
1144 GET_CURRENT_CONTEXT(ctx);
1146 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1147 n = alloc_instruction(ctx, OPCODE_BITMAP, 7);
1155 n[7].data = unpack_image(ctx, 2, width, height, 1, GL_COLOR_INDEX,
1156 GL_BITMAP, pixels, &ctx->Unpack);
1158 if (ctx->ExecuteFlag) {
1159 CALL_Bitmap(ctx->Exec, (width, height,
1168 GET_CURRENT_CONTEXT(ctx);
1170 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1171 n = alloc_instruction(ctx, OPCODE_BLEND_EQUATION, 1);
1175 if (ctx->ExecuteFlag) {
1176 CALL_BlendEquation(ctx->Exec, (mode));
1184 GET_CURRENT_CONTEXT(ctx);
1186 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1187 n = alloc_instruction(ctx, OPCODE_BLEND_EQUATION_SEPARATE, 2);
1192 if (ctx->ExecuteFlag) {
1193 CALL_BlendEquationSeparateEXT(ctx->Exec, (modeRGB, modeA));
1202 GET_CURRENT_CONTEXT(ctx);
1204 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1205 n = alloc_instruction(ctx, OPCODE_BLEND_FUNC_SEPARATE, 4);
1212 if (ctx->ExecuteFlag) {
1213 CALL_BlendFuncSeparateEXT(ctx->Exec,
1229 GET_CURRENT_CONTEXT(ctx);
1231 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1232 n = alloc_instruction(ctx, OPCODE_BLEND_COLOR, 4);
1239 if (ctx->ExecuteFlag) {
1240 CALL_BlendColor(ctx->Exec, (red, green, blue, alpha));
1249 GET_CURRENT_CONTEXT(ctx);
1251 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1252 n = alloc_instruction(ctx, OPCODE_BLEND_FUNC_SEPARATE_I, 5);
1260 if (ctx->ExecuteFlag) {
1261 CALL_BlendFuncSeparateiARB(ctx->Exec, (buf, sfactorRGB, dfactorRGB,
1270 GET_CURRENT_CONTEXT(ctx);
1272 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1273 n = alloc_instruction(ctx, OPCODE_BLEND_FUNC_SEPARATE_I, 3);
1279 if (ctx->ExecuteFlag) {
1280 CALL_BlendFunciARB(ctx->Exec, (buf, sfactor, dfactor));
1288 GET_CURRENT_CONTEXT(ctx);
1290 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1291 n = alloc_instruction(ctx, OPCODE_BLEND_EQUATION_I, 2);
1296 if (ctx->ExecuteFlag) {
1297 CALL_BlendEquationiARB(ctx->Exec, (buf, mode));
1305 GET_CURRENT_CONTEXT(ctx);
1307 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1308 n = alloc_instruction(ctx, OPCODE_BLEND_EQUATION_SEPARATE_I, 3);
1314 if (ctx->ExecuteFlag) {
1315 CALL_BlendEquationSeparateiARB(ctx->Exec, (buf, modeRGB, modeA));
1327 GET_CURRENT_CONTEXT(ctx);
1328 _mesa_error(ctx, GL_INVALID_OPERATION,
1339 GET_CURRENT_CONTEXT(ctx);
1340 _mesa_error(ctx, GL_INVALID_OPERATION,
1352 GET_CURRENT_CONTEXT(ctx);
1353 _mesa_error(ctx, GL_INVALID_OPERATION,
1365 GET_CURRENT_CONTEXT(ctx);
1366 _mesa_error(ctx, GL_INVALID_OPERATION,
1378 GET_CURRENT_CONTEXT(ctx);
1379 _mesa_error(ctx, GL_INVALID_OPERATION,
1392 GET_CURRENT_CONTEXT(ctx);
1393 _mesa_error(ctx, GL_INVALID_OPERATION,
1397 static void invalidate_saved_current_state( struct gl_context *ctx )
1402 ctx->ListState.ActiveAttribSize[i] = 0;
1405 ctx->ListState.ActiveMaterialSize[i] = 0;
1407 memset(&ctx->ListState.Current, 0, sizeof ctx->ListState.Current);
1409 ctx->Driver.CurrentSavePrimitive = PRIM_UNKNOWN;
1415 GET_CURRENT_CONTEXT(ctx);
1417 SAVE_FLUSH_VERTICES(ctx);
1419 n = alloc_instruction(ctx, OPCODE_CALL_LIST, 1);
1427 invalidate_saved_current_state( ctx );
1429 if (ctx->ExecuteFlag) {
1438 GET_CURRENT_CONTEXT(ctx);
1442 SAVE_FLUSH_VERTICES(ctx);
1463 Node *n = alloc_instruction(ctx, OPCODE_CALL_LIST_OFFSET, 2);
1473 invalidate_saved_current_state( ctx );
1475 if (ctx->ExecuteFlag) {
1476 CALL_CallLists(ctx->Exec, (num, type, lists));
1484 GET_CURRENT_CONTEXT(ctx);
1486 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1487 n = alloc_instruction(ctx, OPCODE_CLEAR, 1);
1491 if (ctx->ExecuteFlag) {
1492 CALL_Clear(ctx->Exec, (mask));
1500 GET_CURRENT_CONTEXT(ctx);
1502 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1503 n = alloc_instruction(ctx, OPCODE_CLEAR_BUFFER_IV, 6);
1519 if (ctx->ExecuteFlag) {
1520 CALL_ClearBufferiv(ctx->Exec, (buffer, drawbuffer, value));
1528 GET_CURRENT_CONTEXT(ctx);
1530 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1531 n = alloc_instruction(ctx, OPCODE_CLEAR_BUFFER_UIV, 6);
1547 if (ctx->ExecuteFlag) {
1548 CALL_ClearBufferuiv(ctx->Exec, (buffer, drawbuffer, value));
1556 GET_CURRENT_CONTEXT(ctx);
1558 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1559 n = alloc_instruction(ctx, OPCODE_CLEAR_BUFFER_FV, 6);
1575 if (ctx->ExecuteFlag) {
1576 CALL_ClearBufferfv(ctx->Exec, (buffer, drawbuffer, value));
1585 GET_CURRENT_CONTEXT(ctx);
1587 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1588 n = alloc_instruction(ctx, OPCODE_CLEAR_BUFFER_FI, 4);
1595 if (ctx->ExecuteFlag) {
1596 CALL_ClearBufferfi(ctx->Exec, (buffer, drawbuffer, depth, stencil));
1604 GET_CURRENT_CONTEXT(ctx);
1606 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1607 n = alloc_instruction(ctx, OPCODE_CLEAR_ACCUM, 4);
1614 if (ctx->ExecuteFlag) {
1615 CALL_ClearAccum(ctx->Exec, (red, green, blue, alpha));
1623 GET_CURRENT_CONTEXT(ctx);
1625 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1626 n = alloc_instruction(ctx, OPCODE_CLEAR_COLOR, 4);
1633 if (ctx->ExecuteFlag) {
1634 CALL_ClearColor(ctx->Exec, (red, green, blue, alpha));
1642 GET_CURRENT_CONTEXT(ctx);
1644 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1645 n = alloc_instruction(ctx, OPCODE_CLEAR_DEPTH, 1);
1649 if (ctx->ExecuteFlag) {
1650 CALL_ClearDepth(ctx->Exec, (depth));
1658 GET_CURRENT_CONTEXT(ctx);
1660 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1661 n = alloc_instruction(ctx, OPCODE_CLEAR_INDEX, 1);
1665 if (ctx->ExecuteFlag) {
1666 CALL_ClearIndex(ctx->Exec, (c));
1674 GET_CURRENT_CONTEXT(ctx);
1676 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1677 n = alloc_instruction(ctx, OPCODE_CLEAR_STENCIL, 1);
1681 if (ctx->ExecuteFlag) {
1682 CALL_ClearStencil(ctx->Exec, (s));
1690 GET_CURRENT_CONTEXT(ctx);
1692 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1693 n = alloc_instruction(ctx, OPCODE_CLIP_PLANE, 5);
1701 if (ctx->ExecuteFlag) {
1702 CALL_ClipPlane(ctx->Exec, (plane, equ));
1712 GET_CURRENT_CONTEXT(ctx);
1714 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1715 n = alloc_instruction(ctx, OPCODE_COLOR_MASK, 4);
1722 if (ctx->ExecuteFlag) {
1723 CALL_ColorMask(ctx->Exec, (red, green, blue, alpha));
1732 GET_CURRENT_CONTEXT(ctx);
1734 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1735 n = alloc_instruction(ctx, OPCODE_COLOR_MASK_INDEXED, 5);
1743 if (ctx->ExecuteFlag) {
1744 /*CALL_ColorMaskIndexedEXT(ctx->Exec, (buf, red, green, blue, alpha));*/
1752 GET_CURRENT_CONTEXT(ctx);
1754 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1756 n = alloc_instruction(ctx, OPCODE_COLOR_MATERIAL, 2);
1761 if (ctx->ExecuteFlag) {
1762 CALL_ColorMaterial(ctx->Exec, (face, mode));
1772 GET_CURRENT_CONTEXT(ctx);
1775 CALL_ColorTable(ctx->Exec, (target, internalFormat, width,
1780 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1781 n = alloc_instruction(ctx, OPCODE_COLOR_TABLE, 6);
1788 n[6].data = unpack_image(ctx, 1, width, 1, 1, format, type, table,
1789 &ctx->Unpack);
1791 if (ctx->ExecuteFlag) {
1792 CALL_ColorTable(ctx->Exec, (target, internalFormat, width,
1804 GET_CURRENT_CONTEXT(ctx);
1807 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1809 n = alloc_instruction(ctx, OPCODE_COLOR_TABLE_PARAMETER_FV, 6);
1823 if (ctx->ExecuteFlag) {
1824 CALL_ColorTableParameterfv(ctx->Exec, (target, pname, params));
1832 GET_CURRENT_CONTEXT(ctx);
1835 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1837 n = alloc_instruction(ctx, OPCODE_COLOR_TABLE_PARAMETER_IV, 6);
1851 if (ctx->ExecuteFlag) {
1852 CALL_ColorTableParameteriv(ctx->Exec, (target, pname, params));
1862 GET_CURRENT_CONTEXT(ctx);
1864 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1865 n = alloc_instruction(ctx, OPCODE_COLOR_SUB_TABLE, 6);
1872 n[6].data = unpack_image(ctx, 1, count, 1, 1, format, type, table,
1873 &ctx->Unpack);
1875 ctx->ExecuteFlag) {
1876 CALL_ColorSubTable(ctx->Exec,
1886 GET_CURRENT_CONTEXT(ctx);
1889 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1890 n = alloc_instruction(ctx, OPCODE_COPY_COLOR_SUB_TABLE, 5);
1898 if (ctx->ExecuteFlag) {
1899 CALL_CopyColorSubTable(ctx->Exec, (target, start, x, y, width));
1908 GET_CURRENT_CONTEXT(ctx);
1911 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1912 n = alloc_instruction(ctx, OPCODE_COPY_COLOR_TABLE, 5);
1920 if (ctx->ExecuteFlag) {
1921 CALL_CopyColorTable(ctx->Exec, (target, internalformat, x, y, width));
1930 GET_CURRENT_CONTEXT(ctx);
1933 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1935 n = alloc_instruction(ctx, OPCODE_CONVOLUTION_FILTER_1D, 6);
1942 n[6].data = unpack_image(ctx, 1, width, 1, 1, format, type, filter,
1943 &ctx->Unpack);
1945 if (ctx->ExecuteFlag) {
1946 CALL_ConvolutionFilter1D(ctx->Exec, (target, internalFormat, width,
1957 GET_CURRENT_CONTEXT(ctx);
1960 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1962 n = alloc_instruction(ctx, OPCODE_CONVOLUTION_FILTER_2D, 7);
1970 n[7].data = unpack_image(ctx, 2, width, height, 1, format, type, filter,
1971 &ctx->Unpack);
1973 if (ctx->ExecuteFlag) {
1974 CALL_ConvolutionFilter2D(ctx->Exec,
1984 GET_CURRENT_CONTEXT(ctx);
1986 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
1987 n = alloc_instruction(ctx, OPCODE_CONVOLUTION_PARAMETER_I, 3);
1993 if (ctx->ExecuteFlag) {
1994 CALL_ConvolutionParameteri(ctx->Exec, (target, pname, param));
2002 GET_CURRENT_CONTEXT(ctx);
2004 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2005 n = alloc_instruction(ctx, OPCODE_CONVOLUTION_PARAMETER_IV, 6);
2021 if (ctx->ExecuteFlag) {
2022 CALL_ConvolutionParameteriv(ctx->Exec, (target, pname, params));
2030 GET_CURRENT_CONTEXT(ctx);
2032 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2033 n = alloc_instruction(ctx, OPCODE_CONVOLUTION_PARAMETER_F, 3);
2039 if (ctx->ExecuteFlag) {
2040 CALL_ConvolutionParameterf(ctx->Exec, (target, pname, param));
2049 GET_CURRENT_CONTEXT(ctx);
2051 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2052 n = alloc_instruction(ctx, OPCODE_CONVOLUTION_PARAMETER_FV, 6);
2068 if (ctx->ExecuteFlag) {
2069 CALL_ConvolutionParameterfv(ctx->Exec, (target, pname, params));
2077 GET_CURRENT_CONTEXT(ctx);
2079 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2080 n = alloc_instruction(ctx, OPCODE_COPY_PIXELS, 5);
2088 if (ctx->ExecuteFlag) {
2089 CALL_CopyPixels(ctx->Exec, (x, y, width, height, type));
2099 GET_CURRENT_CONTEXT(ctx);
2101 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2102 n = alloc_instruction(ctx, OPCODE_COPY_TEX_IMAGE1D, 7);
2112 if (ctx->ExecuteFlag) {
2113 CALL_CopyTexImage1D(ctx->Exec, (target, level, internalformat,
2125 GET_CURRENT_CONTEXT(ctx);
2127 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2128 n = alloc_instruction(ctx, OPCODE_COPY_TEX_IMAGE2D, 8);
2139 if (ctx->ExecuteFlag) {
2140 CALL_CopyTexImage2D(ctx->Exec, (target, level, internalformat,
2151 GET_CURRENT_CONTEXT(ctx);
2153 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2154 n = alloc_instruction(ctx, OPCODE_COPY_TEX_SUB_IMAGE1D, 6);
2163 if (ctx->ExecuteFlag) {
2164 CALL_CopyTexSubImage1D(ctx->Exec,
2175 GET_CURRENT_CONTEXT(ctx);
2177 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2178 n = alloc_instruction(ctx, OPCODE_COPY_TEX_SUB_IMAGE2D, 8);
2189 if (ctx->ExecuteFlag) {
2190 CALL_CopyTexSubImage2D(ctx->Exec, (target, level, xoffset, yoffset,
2201 GET_CURRENT_CONTEXT(ctx);
2203 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2204 n = alloc_instruction(ctx, OPCODE_COPY_TEX_SUB_IMAGE3D, 9);
2216 if (ctx->ExecuteFlag) {
2217 CALL_CopyTexSubImage3D(ctx->Exec, (target, level,
2227 GET_CURRENT_CONTEXT(ctx);
2229 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2230 n = alloc_instruction(ctx, OPCODE_CULL_FACE, 1);
2234 if (ctx->ExecuteFlag) {
2235 CALL_CullFace(ctx->Exec, (mode));
2243 GET_CURRENT_CONTEXT(ctx);
2245 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2246 n = alloc_instruction(ctx, OPCODE_DEPTH_FUNC, 1);
2250 if (ctx->ExecuteFlag) {
2251 CALL_DepthFunc(ctx->Exec, (func));
2259 GET_CURRENT_CONTEXT(ctx);
2261 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2262 n = alloc_instruction(ctx, OPCODE_DEPTH_MASK, 1);
2266 if (ctx->ExecuteFlag) {
2267 CALL_DepthMask(ctx->Exec, (mask));
2275 GET_CURRENT_CONTEXT(ctx);
2277 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2278 n = alloc_instruction(ctx, OPCODE_DEPTH_RANGE, 2);
2283 if (ctx->ExecuteFlag) {
2284 CALL_DepthRange(ctx->Exec, (nearval, farval));
2292 GET_CURRENT_CONTEXT(ctx);
2294 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2295 n = alloc_instruction(ctx, OPCODE_DISABLE, 1);
2299 if (ctx->ExecuteFlag) {
2300 CALL_Disable(ctx->Exec, (cap));
2308 GET_CURRENT_CONTEXT(ctx);
2310 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2311 n = alloc_instruction(ctx, OPCODE_DISABLE_INDEXED, 2);
2316 if (ctx->ExecuteFlag) {
2317 CALL_DisableIndexedEXT(ctx->Exec, (index, cap));
2325 GET_CURRENT_CONTEXT(ctx);
2327 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2328 n = alloc_instruction(ctx, OPCODE_DRAW_BUFFER, 1);
2332 if (ctx->ExecuteFlag) {
2333 CALL_DrawBuffer(ctx->Exec, (mode));
2342 GET_CURRENT_CONTEXT(ctx);
2345 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2347 n = alloc_instruction(ctx, OPCODE_DRAW_PIXELS, 5);
2353 n[5].data = unpack_image(ctx, 2, width, height, 1, format, type,
2354 pixels, &ctx->Unpack);
2356 if (ctx->ExecuteFlag) {
2357 CALL_DrawPixels(ctx->Exec, (width, height, format, type, pixels));
2366 GET_CURRENT_CONTEXT(ctx);
2368 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2369 n = alloc_instruction(ctx, OPCODE_ENABLE, 1);
2373 if (ctx->ExecuteFlag) {
2374 CALL_Enable(ctx->Exec, (cap));
2383 GET_CURRENT_CONTEXT(ctx);
2385 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2386 n = alloc_instruction(ctx, OPCODE_ENABLE_INDEXED, 2);
2391 if (ctx->ExecuteFlag) {
2392 CALL_EnableIndexedEXT(ctx->Exec, (index, cap));
2401 GET_CURRENT_CONTEXT(ctx);
2403 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2404 n = alloc_instruction(ctx, OPCODE_EVALMESH1, 3);
2410 if (ctx->ExecuteFlag) {
2411 CALL_EvalMesh1(ctx->Exec, (mode, i1, i2));
2419 GET_CURRENT_CONTEXT(ctx);
2421 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2422 n = alloc_instruction(ctx, OPCODE_EVALMESH2, 5);
2430 if (ctx->ExecuteFlag) {
2431 CALL_EvalMesh2(ctx->Exec, (mode, i1, i2, j1, j2));
2441 GET_CURRENT_CONTEXT(ctx);
2443 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2444 n = alloc_instruction(ctx, OPCODE_FOG, 5);
2452 if (ctx->ExecuteFlag) {
2453 CALL_Fogfv(ctx->Exec, (pname, params));
2510 GET_CURRENT_CONTEXT(ctx);
2512 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2513 n = alloc_instruction(ctx, OPCODE_FRONT_FACE, 1);
2517 if (ctx->ExecuteFlag) {
2518 CALL_FrontFace(ctx->Exec, (mode));
2527 GET_CURRENT_CONTEXT(ctx);
2529 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2530 n = alloc_instruction(ctx, OPCODE_FRUSTUM, 6);
2539 if (ctx->ExecuteFlag) {
2540 CALL_Frustum(ctx->Exec, (left, right, bottom, top, nearval, farval));
2548 GET_CURRENT_CONTEXT(ctx);
2550 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2551 n = alloc_instruction(ctx, OPCODE_HINT, 2);
2556 if (ctx->ExecuteFlag) {
2557 CALL_Hint(ctx->Exec, (target, mode));
2566 GET_CURRENT_CONTEXT(ctx);
2569 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2570 n = alloc_instruction(ctx, OPCODE_HISTOGRAM, 4);
2577 if (ctx->ExecuteFlag) {
2578 CALL_Histogram(ctx->Exec, (target, width, internalFormat, sink));
2586 GET_CURRENT_CONTEXT(ctx);
2588 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2589 n = alloc_instruction(ctx, OPCODE_INDEX_MASK, 1);
2593 if (ctx->ExecuteFlag) {
2594 CALL_IndexMask(ctx->Exec, (mask));
2602 GET_CURRENT_CONTEXT(ctx);
2603 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2604 (void) alloc_instruction(ctx, OPCODE_INIT_NAMES, 0);
2605 if (ctx->ExecuteFlag) {
2606 CALL_InitNames(ctx->Exec, ());
2614 GET_CURRENT_CONTEXT(ctx);
2616 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2617 n = alloc_instruction(ctx, OPCODE_LIGHT, 6);
2660 if (ctx->ExecuteFlag) {
2661 CALL_Lightfv(ctx->Exec, (light, pname, params));
2728 GET_CURRENT_CONTEXT(ctx);
2730 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2731 n = alloc_instruction(ctx, OPCODE_LIGHT_MODEL, 5);
2739 if (ctx->ExecuteFlag) {
2740 CALL_LightModelfv(ctx->Exec, (pname, params));
2795 GET_CURRENT_CONTEXT(ctx);
2797 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2798 n = alloc_instruction(ctx, OPCODE_LINE_STIPPLE, 2);
2803 if (ctx->ExecuteFlag) {
2804 CALL_LineStipple(ctx->Exec, (factor, pattern));
2812 GET_CURRENT_CONTEXT(ctx);
2814 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2815 n = alloc_instruction(ctx, OPCODE_LINE_WIDTH, 1);
2819 if (ctx->ExecuteFlag) {
2820 CALL_LineWidth(ctx->Exec, (width));
2828 GET_CURRENT_CONTEXT(ctx);
2830 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2831 n = alloc_instruction(ctx, OPCODE_LIST_BASE, 1);
2835 if (ctx->ExecuteFlag) {
2836 CALL_ListBase(ctx->Exec, (base));
2844 GET_CURRENT_CONTEXT(ctx);
2845 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2846 (void) alloc_instruction(ctx, OPCODE_LOAD_IDENTITY, 0);
2847 if (ctx->ExecuteFlag) {
2848 CALL_LoadIdentity(ctx->Exec, ());
2856 GET_CURRENT_CONTEXT(ctx);
2858 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2859 n = alloc_instruction(ctx, OPCODE_LOAD_MATRIX, 16);
2866 if (ctx->ExecuteFlag) {
2867 CALL_LoadMatrixf(ctx->Exec, (m));
2887 GET_CURRENT_CONTEXT(ctx);
2889 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2890 n = alloc_instruction(ctx, OPCODE_LOAD_NAME, 1);
2894 if (ctx->ExecuteFlag) {
2895 CALL_LoadName(ctx->Exec, (name));
2903 GET_CURRENT_CONTEXT(ctx);
2905 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2906 n = alloc_instruction(ctx, OPCODE_LOGIC_OP, 1);
2910 if (ctx->ExecuteFlag) {
2911 CALL_LogicOp(ctx->Exec, (opcode));
2920 GET_CURRENT_CONTEXT(ctx);
2922 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2923 n = alloc_instruction(ctx, OPCODE_MAP1, 6);
2933 if (ctx->ExecuteFlag) {
2934 CALL_Map1d(ctx->Exec, (target, u1, u2, stride, order, points));
2942 GET_CURRENT_CONTEXT(ctx);
2944 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2945 n = alloc_instruction(ctx, OPCODE_MAP1, 6);
2955 if (ctx->ExecuteFlag) {
2956 CALL_Map1f(ctx->Exec, (target, u1, u2, stride, order, points));
2967 GET_CURRENT_CONTEXT(ctx);
2969 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
2970 n = alloc_instruction(ctx, OPCODE_MAP2, 10);
2986 if (ctx->ExecuteFlag) {
2987 CALL_Map2d(ctx->Exec, (target,
3000 GET_CURRENT_CONTEXT(ctx);
3002 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3003 n = alloc_instruction(ctx, OPCODE_MAP2, 10);
3019 if (ctx->ExecuteFlag) {
3020 CALL_Map2f(ctx->Exec, (target, u1, u2, ustride, uorder,
3029 GET_CURRENT_CONTEXT(ctx);
3031 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3032 n = alloc_instruction(ctx, OPCODE_MAPGRID1, 3);
3038 if (ctx->ExecuteFlag) {
3039 CALL_MapGrid1f(ctx->Exec, (un, u1, u2));
3055 GET_CURRENT_CONTEXT(ctx);
3057 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3058 n = alloc_instruction(ctx, OPCODE_MAPGRID2, 6);
3067 if (ctx->ExecuteFlag) {
3068 CALL_MapGrid2f(ctx->Exec, (un, u1, u2, vn, v1, v2));
3086 GET_CURRENT_CONTEXT(ctx);
3088 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3089 n = alloc_instruction(ctx, OPCODE_MATRIX_MODE, 1);
3093 if (ctx->ExecuteFlag) {
3094 CALL_MatrixMode(ctx->Exec, (mode));
3102 GET_CURRENT_CONTEXT(ctx);
3105 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3106 n = alloc_instruction(ctx, OPCODE_MIN_MAX, 3);
3112 if (ctx->ExecuteFlag) {
3113 CALL_Minmax(ctx->Exec, (target, internalFormat, sink));
3121 GET_CURRENT_CONTEXT(ctx);
3123 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3124 n = alloc_instruction(ctx, OPCODE_MULT_MATRIX, 16);
3131 if (ctx->ExecuteFlag) {
3132 CALL_MultMatrixf(ctx->Exec, (m));
3152 GET_CURRENT_CONTEXT(ctx);
3154 _mesa_error(ctx, GL_INVALID_OPERATION, "glNewList");
3165 GET_CURRENT_CONTEXT(ctx);
3167 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3168 n = alloc_instruction(ctx, OPCODE_ORTHO, 6);
3177 if (ctx->ExecuteFlag) {
3178 CALL_Ortho(ctx->Exec, (left, right, bottom, top, nearval, farval));
3186 GET_CURRENT_CONTEXT(ctx);
3188 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3189 n = alloc_instruction(ctx, OPCODE_PIXEL_MAP, 3);
3196 if (ctx->ExecuteFlag) {
3197 CALL_PixelMapfv(ctx->Exec, (map, mapsize, values));
3243 GET_CURRENT_CONTEXT(ctx);
3245 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3246 n = alloc_instruction(ctx, OPCODE_PIXEL_TRANSFER, 2);
3251 ctx->ExecuteFlag) {
3252 CALL_PixelTransferf(ctx->Exec, (pname, param));
3267 GET_CURRENT_CONTEXT(ctx);
3269 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3270 n = alloc_instruction(ctx, OPCODE_PIXEL_ZOOM, 2);
3275 if (ctx->ExecuteFlag) {
3276 CALL_PixelZoom(ctx->Exec, (xfactor, yfactor));
3284 GET_CURRENT_CONTEXT(ctx);
3286 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3287 n = alloc_instruction(ctx, OPCODE_POINT_PARAMETERS, 4);
3294 if (ctx->ExecuteFlag) {
3295 CALL_PointParameterfvEXT(ctx->Exec, (pname, params));
3331 GET_CURRENT_CONTEXT(ctx);
3333 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3334 n = alloc_instruction(ctx, OPCODE_POINT_SIZE, 1);
3338 if (ctx->ExecuteFlag) {
3339 CALL_PointSize(ctx->Exec, (size));
3347 GET_CURRENT_CONTEXT(ctx);
3349 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3350 n = alloc_instruction(ctx, OPCODE_POLYGON_MODE, 2);
3355 if (ctx->ExecuteFlag) {
3356 CALL_PolygonMode(ctx->Exec, (face, mode));
3364 GET_CURRENT_CONTEXT(ctx);
3367 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3369 n = alloc_instruction(ctx, OPCODE_POLYGON_STIPPLE, 1);
3371 n[1].data = unpack_image(ctx, 2, 32, 32, 1, GL_COLOR_INDEX, GL_BITMAP,
3372 pattern, &ctx->Unpack);
3374 if (ctx->ExecuteFlag) {
3375 CALL_PolygonStipple(ctx->Exec, ((GLubyte *) pattern));
3383 GET_CURRENT_CONTEXT(ctx);
3385 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3386 n = alloc_instruction(ctx, OPCODE_POLYGON_OFFSET, 2);
3391 if (ctx->ExecuteFlag) {
3392 CALL_PolygonOffset(ctx->Exec, (factor, units));
3400 GET_CURRENT_CONTEXT(ctx);
3402 save_PolygonOffset(factor, ctx->DrawBuffer->_DepthMaxF * bias);
3409 GET_CURRENT_CONTEXT(ctx);
3410 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3411 (void) alloc_instruction(ctx, OPCODE_POP_ATTRIB, 0);
3412 if (ctx->ExecuteFlag) {
3413 CALL_PopAttrib(ctx->Exec, ());
3421 GET_CURRENT_CONTEXT(ctx);
3422 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3423 (void) alloc_instruction(ctx, OPCODE_POP_MATRIX, 0);
3424 if (ctx->ExecuteFlag) {
3425 CALL_PopMatrix(ctx->Exec, ());
3433 GET_CURRENT_CONTEXT(ctx);
3434 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3435 (void) alloc_instruction(ctx, OPCODE_POP_NAME, 0);
3436 if (ctx->ExecuteFlag) {
3437 CALL_PopName(ctx->Exec, ());
3446 GET_CURRENT_CONTEXT(ctx);
3448 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3452 n = alloc_instruction(ctx, OPCODE_PRIORITIZE_TEXTURE, 2);
3458 if (ctx->ExecuteFlag) {
3459 CALL_PrioritizeTextures(ctx->Exec, (num, textures, priorities));
3467 GET_CURRENT_CONTEXT(ctx);
3469 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3470 n = alloc_instruction(ctx, OPCODE_PUSH_ATTRIB, 1);
3474 if (ctx->ExecuteFlag) {
3475 CALL_PushAttrib(ctx->Exec, (mask));
3483 GET_CURRENT_CONTEXT(ctx);
3484 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3485 (void) alloc_instruction(ctx, OPCODE_PUSH_MATRIX, 0);
3486 if (ctx->ExecuteFlag) {
3487 CALL_PushMatrix(ctx->Exec, ());
3495 GET_CURRENT_CONTEXT(ctx);
3497 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3498 n = alloc_instruction(ctx, OPCODE_PUSH_NAME, 1);
3502 if (ctx->ExecuteFlag) {
3503 CALL_PushName(ctx->Exec, (name));
3511 GET_CURRENT_CONTEXT(ctx);
3513 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3514 n = alloc_instruction(ctx, OPCODE_RASTER_POS, 4);
3521 if (ctx->ExecuteFlag) {
3522 CALL_RasterPos4f(ctx->Exec, (x, y, z, w));
3670 GET_CURRENT_CONTEXT(ctx);
3672 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3673 n = alloc_instruction(ctx, OPCODE_PASSTHROUGH, 1);
3677 if (ctx->ExecuteFlag) {
3678 CALL_PassThrough(ctx->Exec, (token));
3686 GET_CURRENT_CONTEXT(ctx);
3688 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3689 n = alloc_instruction(ctx, OPCODE_READ_BUFFER, 1);
3693 if (ctx->ExecuteFlag) {
3694 CALL_ReadBuffer(ctx->Exec, (mode));
3702 GET_CURRENT_CONTEXT(ctx);
3704 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3705 n = alloc_instruction(ctx, OPCODE_RESET_HISTOGRAM, 1);
3709 if (ctx->ExecuteFlag) {
3710 CALL_ResetHistogram(ctx->Exec, (target));
3718 GET_CURRENT_CONTEXT(ctx);
3720 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3721 n = alloc_instruction(ctx, OPCODE_RESET_MIN_MAX, 1);
3725 if (ctx->ExecuteFlag) {
3726 CALL_ResetMinmax(ctx->Exec, (target));
3734 GET_CURRENT_CONTEXT(ctx);
3736 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3737 n = alloc_instruction(ctx, OPCODE_ROTATE, 4);
3744 if (ctx->ExecuteFlag) {
3745 CALL_Rotatef(ctx->Exec, (angle, x, y, z));
3760 GET_CURRENT_CONTEXT(ctx);
3762 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3763 n = alloc_instruction(ctx, OPCODE_SCALE, 3);
3769 if (ctx->ExecuteFlag) {
3770 CALL_Scalef(ctx->Exec, (x, y, z));
3785 GET_CURRENT_CONTEXT(ctx);
3787 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3788 n = alloc_instruction(ctx, OPCODE_SCISSOR, 4);
3795 if (ctx->ExecuteFlag) {
3796 CALL_Scissor(ctx->Exec, (x, y, width, height));
3804 GET_CURRENT_CONTEXT(ctx);
3806 ASSERT_OUTSIDE_SAVE_BEGIN_END(ctx);
3808 if (ctx->ExecuteFlag) {
3809 CALL_ShadeModel(ctx->Exec, (mode));
3812 if (ctx->ListState.Current.ShadeModel == mode)
3815 SAVE_FLUSH_VERTICES(ctx);
3819 if (ctx->Driver.CurrentSavePrimitive == PRIM_OUTSIDE_BEGIN_END)
3820 ctx->ListState.Current.ShadeModel = mode;
3822 n = alloc_instruction(ctx, OPCODE_SHADE_MODEL, 1);
3832 GET_CURRENT_CONTEXT(ctx);
3834 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3835 n = alloc_instruction(ctx, OPCODE_STENCIL_FUNC, 3);
3841 if (ctx->ExecuteFlag) {
3842 CALL_StencilFunc(ctx->Exec, (func, ref, mask));
3850 GET_CURRENT_CONTEXT(ctx);
3852 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3853 n = alloc_instruction(ctx, OPCODE_STENCIL_MASK, 1);
3857 if (ctx->ExecuteFlag) {
3858 CALL_StencilMask(ctx->Exec, (mask));
3866 GET_CURRENT_CONTEXT(ctx);
3868 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3869 n = alloc_instruction(ctx, OPCODE_STENCIL_OP, 3);
3875 if (ctx->ExecuteFlag) {
3876 CALL_StencilOp(ctx->Exec, (fail, zfail, zpass));
3884 GET_CURRENT_CONTEXT(ctx);
3886 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3887 n = alloc_instruction(ctx, OPCODE_STENCIL_FUNC_SEPARATE, 4);
3894 if (ctx->ExecuteFlag) {
3895 CALL_StencilFuncSeparate(ctx->Exec, (face, func, ref, mask));
3904 GET_CURRENT_CONTEXT(ctx);
3906 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3908 n = alloc_instruction(ctx, OPCODE_STENCIL_FUNC_SEPARATE, 4);
3916 n = alloc_instruction(ctx, OPCODE_STENCIL_FUNC_SEPARATE, 4);
3923 if (ctx->ExecuteFlag) {
3924 CALL_StencilFuncSeparate(ctx->Exec, (GL_FRONT, frontfunc, ref, mask));
3925 CALL_StencilFuncSeparate(ctx->Exec, (GL_BACK, backfunc, ref, mask));
3933 GET_CURRENT_CONTEXT(ctx);
3935 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3936 n = alloc_instruction(ctx, OPCODE_STENCIL_MASK_SEPARATE, 2);
3941 if (ctx->ExecuteFlag) {
3942 CALL_StencilMaskSeparate(ctx->Exec, (face, mask));
3950 GET_CURRENT_CONTEXT(ctx);
3952 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3953 n = alloc_instruction(ctx, OPCODE_STENCIL_OP_SEPARATE, 4);
3960 if (ctx->ExecuteFlag) {
3961 CALL_StencilOpSeparate(ctx->Exec, (face, fail, zfail, zpass));
3969 GET_CURRENT_CONTEXT(ctx);
3971 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
3972 n = alloc_instruction(ctx, OPCODE_TEXENV, 6);
3987 if (ctx->ExecuteFlag) {
3988 CALL_TexEnvfv(ctx->Exec, (target, pname, params));
4034 GET_CURRENT_CONTEXT(ctx);
4036 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
4037 n = alloc_instruction(ctx, OPCODE_TEXGEN, 6);
4046 if (ctx->ExecuteFlag) {
4047 CALL_TexGenfv(ctx->Exec, (coord, pname, params));
4109 GET_CURRENT_CONTEXT(ctx);
4111 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
4112 n = alloc_instruction(ctx, OPCODE_TEXPARAMETER, 6);
4121 if (ctx->ExecuteFlag) {
4122 CALL_TexParameterfv(ctx->Exec, (target, pname, params));
4163 GET_CURRENT_CONTEXT(ctx);
4166 CALL_TexImage1D(ctx->Exec, (target, level, components, width,
4171 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
4172 n = alloc_instruction(ctx, OPCODE_TEX_IMAGE1D, 8);
4181 n[8].data = unpack_image(ctx, 1, width, 1, 1, format, type,
4182 pixels, &ctx->Unpack);
4184 if (ctx->ExecuteFlag) {
4185 CALL_TexImage1D(ctx->Exec, (target, level, components, width,
4198 GET_CURRENT_CONTEXT(ctx);
4201 CALL_TexImage2D(ctx->Exec, (target, level, components, width,
4206 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
4207 n = alloc_instruction(ctx, OPCODE_TEX_IMAGE2D, 9);
4217 n[9].data = unpack_image(ctx, 2, width, height, 1, format, type,
4218 pixels, &ctx->Unpack);
4220 if (ctx->ExecuteFlag) {
4221 CALL_TexImage2D(ctx->Exec, (target, level, components, width,
4235 GET_CURRENT_CONTEXT(ctx);
4238 CALL_TexImage3D(ctx->Exec, (target, level, internalFormat, width,
4244 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
4245 n = alloc_instruction(ctx, OPCODE_TEX_IMAGE3D, 10);
4256 n[10].data = unpack_image(ctx, 3, width, height, depth, format, type,
4257 pixels, &ctx->Unpack);
4259 if (ctx->ExecuteFlag) {
4260 CALL_TexImage3D(ctx->Exec, (target, level, internalFormat, width,
4273 GET_CURRENT_CONTEXT(ctx);
4276 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
4278 n = alloc_instruction(ctx, OPCODE_TEX_SUB_IMAGE1D, 7);
4286 n[7].data = unpack_image(ctx, 1, width, 1, 1, format, type,
4287 pixels, &ctx->Unpack);
4289 if (ctx->ExecuteFlag) {
4290 CALL_TexSubImage1D(ctx->Exec, (target, level, xoffset, width,
4302 GET_CURRENT_CONTEXT(ctx);
4305 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
4307 n = alloc_instruction(ctx, OPCODE_TEX_SUB_IMAGE2D, 9);
4317 n[9].data = unpack_image(ctx, 2, width, height, 1, format, type,
4318 pixels, &ctx->Unpack);
4320 if (ctx->ExecuteFlag) {
4321 CALL_TexSubImage2D(ctx->Exec, (target, level, xoffset, yoffset,
4333 GET_CURRENT_CONTEXT(ctx);
4336 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
4338 n = alloc_instruction(ctx, OPCODE_TEX_SUB_IMAGE3D, 11);
4350 n[11].data = unpack_image(ctx, 3, width, height, depth, format, type,
4351 pixels, &ctx->Unpack);
4353 if (ctx->ExecuteFlag) {
4354 CALL_TexSubImage3D(ctx->Exec, (target, level,
4365 GET_CURRENT_CONTEXT(ctx);
4367 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
4368 n = alloc_instruction(ctx, OPCODE_TRANSLATE, 3);
4374 if (ctx->ExecuteFlag) {
4375 CALL_Translatef(ctx->Exec, (x, y, z));
4391 GET_CURRENT_CONTEXT(ctx);
4393 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
4394 n = alloc_instruction(ctx, OPCODE_VIEWPORT, 4);
4401 if (ctx->ExecuteFlag) {
4402 CALL_Viewport(ctx->Exec, (x, y, width, height));
4410 GET_CURRENT_CONTEXT(ctx);
4412 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
4413 n = alloc_instruction(ctx, OPCODE_WINDOW_POS, 4);
4420 if (ctx->ExecuteFlag) {
4421 CALL_WindowPos4fMESA(ctx->Exec, (x, y, z, w));
4571 GET_CURRENT_CONTEXT(ctx);
4573 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
4574 n = alloc_instruction(ctx, OPCODE_ACTIVE_TEXTURE, 1);
4578 if (ctx->ExecuteFlag) {
4579 CALL_ActiveTextureARB(ctx->Exec, (target));
4623 GET_CURRENT_CONTEXT(ctx);
4631 _mesa_error(ctx, GL_OUT_OF_MEMORY, "%s", func);
4647 GET_CURRENT_CONTEXT(ctx);
4650 CALL_CompressedTexImage1DARB(ctx->Exec, (target, level, internalFormat,
4656 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
4658 n = alloc_instruction(ctx, OPCODE_COMPRESSED_TEX_IMAGE_1D, 7);
4668 if (ctx->ExecuteFlag) {
4669 CALL_CompressedTexImage1DARB(ctx->Exec,
4683 GET_CURRENT_CONTEXT(ctx);
4686 CALL_CompressedTexImage2DARB(ctx->Exec, (target, level, internalFormat,
4692 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
4694 n = alloc_instruction(ctx, OPCODE_COMPRESSED_TEX_IMAGE_2D, 8);
4705 if (ctx->ExecuteFlag) {
4706 CALL_CompressedTexImage2DARB(ctx->Exec,
4720 GET_CURRENT_CONTEXT(ctx);
4723 CALL_CompressedTexImage3DARB(ctx->Exec, (target, level, internalFormat,
4729 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
4731 n = alloc_instruction(ctx, OPCODE_COMPRESSED_TEX_IMAGE_3D, 9);
4743 if (ctx->ExecuteFlag) {
4744 CALL_CompressedTexImage3DARB(ctx->Exec,
4759 GET_CURRENT_CONTEXT(ctx);
4760 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
4762 n = alloc_instruction(ctx, OPCODE_COMPRESSED_TEX_SUB_IMAGE_1D, 7);
4772 if (ctx->ExecuteFlag) {
4773 CALL_CompressedTexSubImage1DARB(ctx->Exec, (target, level, xoffset,
4787 GET_CURRENT_CONTEXT(ctx);
4788 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
4790 n = alloc_instruction(ctx, OPCODE_COMPRESSED_TEX_SUB_IMAGE_2D, 9);
4802 if (ctx->ExecuteFlag) {
4803 CALL_CompressedTexSubImage2DARB(ctx->Exec,
4817 GET_CURRENT_CONTEXT(ctx);
4818 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
4820 n = alloc_instruction(ctx, OPCODE_COMPRESSED_TEX_SUB_IMAGE_3D, 11);
4834 if (ctx->ExecuteFlag) {
4835 CALL_CompressedTexSubImage3DARB(ctx->Exec,
4847 GET_CURRENT_CONTEXT(ctx);
4849 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
4850 n = alloc_instruction(ctx, OPCODE_SAMPLE_COVERAGE, 2);
4855 if (ctx->ExecuteFlag) {
4856 CALL_SampleCoverageARB(ctx->Exec, (value, invert));
4868 GET_CURRENT_CONTEXT(ctx);
4870 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
4871 n = alloc_instruction(ctx, OPCODE_BIND_PROGRAM_NV, 2);
4876 if (ctx->ExecuteFlag) {
4877 CALL_BindProgramNV(ctx->Exec, (target, id));
4885 GET_CURRENT_CONTEXT(ctx);
4887 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
4888 n = alloc_instruction(ctx, OPCODE_PROGRAM_ENV_PARAMETER_ARB, 6);
4897 if (ctx->ExecuteFlag) {
4898 CALL_ProgramEnvParameter4fARB(ctx->Exec, (target, index, x, y, z, w));
4916 GET_CURRENT_CONTEXT(ctx);
4918 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
4925 n = alloc_instruction(ctx, OPCODE_PROGRAM_ENV_PARAMETER_ARB, 6);
4938 if (ctx->ExecuteFlag) {
4939 CALL_ProgramEnvParameters4fvEXT(ctx->Exec, (target, index, count, params));
4970 GET_CURRENT_CONTEXT(ctx);
4972 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
4973 n = alloc_instruction(ctx, OPCODE_EXECUTE_PROGRAM_NV, 6);
4982 if (ctx->ExecuteFlag) {
4983 CALL_ExecuteProgramNV(ctx->Exec, (target, id, params));
5014 GET_CURRENT_CONTEXT(ctx);
5017 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
5019 n = alloc_instruction(ctx, OPCODE_LOAD_PROGRAM_NV, 4);
5023 _mesa_error(ctx, GL_OUT_OF_MEMORY, "glLoadProgramNV");
5032 if (ctx->ExecuteFlag) {
5033 CALL_LoadProgramNV(ctx->Exec, (target, id, len, program));
5041 GET_CURRENT_CONTEXT(ctx);
5044 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
5046 n = alloc_instruction(ctx, OPCODE_TRACK_MATRIX_NV, 2);
5050 _mesa_error(ctx, GL_OUT_OF_MEMORY, "glRequestResidentProgramsNV");
5057 if (ctx->ExecuteFlag) {
5058 CALL_RequestResidentProgramsNV(ctx->Exec, (num, ids));
5067 GET_CURRENT_CONTEXT(ctx);
5069 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
5070 n = alloc_instruction(ctx, OPCODE_TRACK_MATRIX_NV, 4);
5077 if (ctx->ExecuteFlag) {
5078 CALL_TrackMatrixNV(ctx->Exec, (target, address, matrix, transform));
5092 GET_CURRENT_CONTEXT(ctx);
5094 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
5095 n = alloc_instruction(ctx, OPCODE_PROGRAM_LOCAL_PARAMETER_ARB, 6);
5104 if (ctx->ExecuteFlag) {
5105 CALL_ProgramLocalParameter4fARB(ctx->Exec, (target, index, x, y, z, w));
5114 GET_CURRENT_CONTEXT(ctx);
5116 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
5117 n = alloc_instruction(ctx, OPCODE_PROGRAM_LOCAL_PARAMETER_ARB, 6);
5126 if (ctx->ExecuteFlag) {
5127 CALL_ProgramLocalParameter4fvARB(ctx->Exec, (target, index, params));
5136 GET_CURRENT_CONTEXT(ctx);
5138 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
5145 n = alloc_instruction(ctx, OPCODE_PROGRAM_LOCAL_PARAMETER_ARB, 6);
5158 if (ctx->ExecuteFlag) {
5159 CALL_ProgramLocalParameters4fvEXT(ctx->Exec, (target, index, count, params));
5169 GET_CURRENT_CONTEXT(ctx);
5171 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
5172 n = alloc_instruction(ctx, OPCODE_PROGRAM_LOCAL_PARAMETER_ARB, 6);
5181 if (ctx->ExecuteFlag) {
5182 CALL_ProgramLocalParameter4dARB(ctx->Exec, (target, index, x, y, z, w));
5191 GET_CURRENT_CONTEXT(ctx);
5193 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
5194 n = alloc_instruction(ctx, OPCODE_PROGRAM_LOCAL_PARAMETER_ARB, 6);
5203 if (ctx->ExecuteFlag) {
5204 CALL_ProgramLocalParameter4dvARB(ctx->Exec, (target, index, params));
5212 GET_CURRENT_CONTEXT(ctx);
5215 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
5217 n = alloc_instruction(ctx, OPCODE_PROGRAM_NAMED_PARAMETER_NV, 6);
5221 _mesa_error(ctx, GL_OUT_OF_MEMORY, "glProgramNamedParameter4fNV");
5233 if (ctx->ExecuteFlag) {
5234 CALL_ProgramNamedParameter4fNV(ctx->Exec, (id, len, name, x, y, z, w));
5273 GET_CURRENT_CONTEXT(ctx);
5275 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
5276 n = alloc_instruction(ctx, OPCODE_ACTIVE_STENCIL_FACE_EXT, 1);
5280 if (ctx->ExecuteFlag) {
5281 CALL_ActiveStencilFaceEXT(ctx->Exec, (face));
5290 GET_CURRENT_CONTEXT(ctx);
5292 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
5293 n = alloc_instruction(ctx, OPCODE_DEPTH_BOUNDS_EXT, 2);
5298 if (ctx->ExecuteFlag) {
5299 CALL_DepthBoundsEXT(ctx->Exec, (zmin, zmax));
5311 GET_CURRENT_CONTEXT(ctx);
5314 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
5316 n = alloc_instruction(ctx, OPCODE_PROGRAM_STRING_ARB, 4);
5320 _mesa_error(ctx, GL_OUT_OF_MEMORY, "glProgramStringARB");
5329 if (ctx->ExecuteFlag) {
5330 CALL_ProgramStringARB(ctx->Exec, (target, format, len, string));
5342 GET_CURRENT_CONTEXT(ctx);
5344 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
5345 n = alloc_instruction(ctx, OPCODE_BEGIN_QUERY_ARB, 2);
5350 if (ctx->ExecuteFlag) {
5351 CALL_BeginQueryARB(ctx->Exec, (target, id));
5358 GET_CURRENT_CONTEXT(ctx);
5360 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
5361 n = alloc_instruction(ctx, OPCODE_END_QUERY_ARB, 1);
5365 if (ctx->ExecuteFlag) {
5366 CALL_EndQueryARB(ctx->Exec, (target));
5373 GET_CURRENT_CONTEXT(ctx);
5375 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
5376 n = alloc_instruction(ctx, OPCODE_QUERY_COUNTER, 2);
5381 if (ctx->ExecuteFlag) {
5382 CALL_QueryCounter(ctx->Exec, (id, target));
5389 GET_CURRENT_CONTEXT(ctx);
5391 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
5392 n = alloc_instruction(ctx, OPCODE_BEGIN_QUERY_INDEXED, 3);
5398 if (ctx->ExecuteFlag) {
5399 CALL_BeginQueryIndexed(ctx->Exec, (target, index, id));
5406 GET_CURRENT_CONTEXT(ctx);
5408 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
5409 n = alloc_instruction(ctx, OPCODE_END_QUERY_INDEXED, 2);
5414 if (ctx->ExecuteFlag) {
5415 CALL_EndQueryIndexed(ctx->Exec, (target, index));
5425 GET_CURRENT_CONTEXT(ctx);
5427 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
5428 n = alloc_instruction(ctx, OPCODE_DRAW_BUFFERS_ARB, 1 + MAX_DRAW_BUFFERS);
5438 if (ctx->ExecuteFlag) {
5439 CALL_DrawBuffersARB(ctx->Exec, (count, buffers));
5446 GET_CURRENT_CONTEXT(ctx);
5449 n = alloc_instruction(ctx, OPCODE_TEX_BUMP_PARAMETER_ATI, 5);
5457 if (ctx->ExecuteFlag) {
5458 CALL_TexBumpParameterfvATI(ctx->Exec, (pname, param));
5477 GET_CURRENT_CONTEXT(ctx);
5480 n = alloc_instruction(ctx, OPCODE_BIND_FRAGMENT_SHADER_ATI, 1);
5484 if (ctx->ExecuteFlag) {
5485 CALL_BindFragmentShaderATI(ctx->Exec, (id));
5492 GET_CURRENT_CONTEXT(ctx);
5495 n = alloc_instruction(ctx, OPCODE_SET_FRAGMENT_SHADER_CONSTANTS_ATI, 5);
5503 if (ctx->ExecuteFlag) {
5504 CALL_SetFragmentShaderConstantATI(ctx->Exec, (dst, value));
5512 GET_CURRENT_CONTEXT(ctx);
5514 SAVE_FLUSH_VERTICES(ctx);
5515 n = alloc_instruction(ctx, OPCODE_ATTR_1F_NV, 2);
5522 ctx->ListState.ActiveAttribSize[attr] = 1;
5523 ASSIGN_4V(ctx->ListState.CurrentAttrib[attr], x, 0, 0, 1);
5525 if (ctx->ExecuteFlag) {
5526 CALL_VertexAttrib1fNV(ctx->Exec, (attr, x));
5533 GET_CURRENT_CONTEXT(ctx);
5535 SAVE_FLUSH_VERTICES(ctx);
5536 n = alloc_instruction(ctx, OPCODE_ATTR_2F_NV, 3);
5544 ctx->ListState.ActiveAttribSize[attr] = 2;
5545 ASSIGN_4V(ctx->ListState.CurrentAttrib[attr], x, y, 0, 1);
5547 if (ctx->ExecuteFlag) {
5548 CALL_VertexAttrib2fNV(ctx->Exec, (attr, x, y));
5555 GET_CURRENT_CONTEXT(ctx);
5557 SAVE_FLUSH_VERTICES(ctx);
5558 n = alloc_instruction(ctx, OPCODE_ATTR_3F_NV, 4);
5567 ctx->ListState.ActiveAttribSize[attr] = 3;
5568 ASSIGN_4V(ctx->ListState.CurrentAttrib[attr], x, y, z, 1);
5570 if (ctx->ExecuteFlag) {
5571 CALL_VertexAttrib3fNV(ctx->Exec, (attr, x, y, z));
5578 GET_CURRENT_CONTEXT(ctx);
5580 SAVE_FLUSH_VERTICES(ctx);
5581 n = alloc_instruction(ctx, OPCODE_ATTR_4F_NV, 5);
5591 ctx->ListState.ActiveAttribSize[attr] = 4;
5592 ASSIGN_4V(ctx->ListState.CurrentAttrib[attr], x, y, z, w);
5594 if (ctx->ExecuteFlag) {
5595 CALL_VertexAttrib4fNV(ctx->Exec, (attr, x, y, z, w));
5603 GET_CURRENT_CONTEXT(ctx);
5605 SAVE_FLUSH_VERTICES(ctx);
5606 n = alloc_instruction(ctx, OPCODE_ATTR_1F_ARB, 2);
5613 ctx->ListState.ActiveAttribSize[attr] = 1;
5614 ASSIGN_4V(ctx->ListState.CurrentAttrib[attr], x, 0, 0, 1);
5616 if (ctx->ExecuteFlag) {
5617 CALL_VertexAttrib1fARB(ctx->Exec, (attr, x));
5624 GET_CURRENT_CONTEXT(ctx);
5626 SAVE_FLUSH_VERTICES(ctx);
5627 n = alloc_instruction(ctx, OPCODE_ATTR_2F_ARB, 3);
5635 ctx->ListState.ActiveAttribSize[attr] = 2;
5636 ASSIGN_4V(ctx->ListState.CurrentAttrib[attr], x, y, 0, 1);
5638 if (ctx->ExecuteFlag) {
5639 CALL_VertexAttrib2fARB(ctx->Exec, (attr, x, y));
5646 GET_CURRENT_CONTEXT(ctx);
5648 SAVE_FLUSH_VERTICES(ctx);
5649 n = alloc_instruction(ctx, OPCODE_ATTR_3F_ARB, 4);
5658 ctx->ListState.ActiveAttribSize[attr] = 3;
5659 ASSIGN_4V(ctx->ListState.CurrentAttrib[attr], x, y, z, 1);
5661 if (ctx->ExecuteFlag) {
5662 CALL_VertexAttrib3fARB(ctx->Exec, (attr, x, y, z));
5669 GET_CURRENT_CONTEXT(ctx);
5671 SAVE_FLUSH_VERTICES(ctx);
5672 n = alloc_instruction(ctx, OPCODE_ATTR_4F_ARB, 5);
5682 ctx->ListState.ActiveAttribSize[attr] = 4;
5683 ASSIGN_4V(ctx->ListState.CurrentAttrib[attr], x, y, z, w);
5685 if (ctx->ExecuteFlag) {
5686 CALL_VertexAttrib4fARB(ctx->Exec, (attr, x, y, z, w));
5694 GET_CURRENT_CONTEXT(ctx);
5696 SAVE_FLUSH_VERTICES(ctx);
5697 n = alloc_instruction(ctx, OPCODE_EVAL_C1, 1);
5701 if (ctx->ExecuteFlag) {
5702 CALL_EvalCoord1f(ctx->Exec, (x));
5715 GET_CURRENT_CONTEXT(ctx);
5717 SAVE_FLUSH_VERTICES(ctx);
5718 n = alloc_instruction(ctx, OPCODE_EVAL_C2, 2);
5723 if (ctx->ExecuteFlag) {
5724 CALL_EvalCoord2f(ctx->Exec, (x, y));
5738 GET_CURRENT_CONTEXT(ctx);
5740 SAVE_FLUSH_VERTICES(ctx);
5741 n = alloc_instruction(ctx, OPCODE_EVAL_P1, 1);
5745 if (ctx->ExecuteFlag) {
5746 CALL_EvalPoint1(ctx->Exec, (x));
5753 GET_CURRENT_CONTEXT(ctx);
5755 SAVE_FLUSH_VERTICES(ctx);
5756 n = alloc_instruction(ctx, OPCODE_EVAL_P2, 2);
5761 if (ctx->ExecuteFlag) {
5762 CALL_EvalPoint2(ctx->Exec, (x, y));
5803 GET_CURRENT_CONTEXT(ctx);
5814 _mesa_compile_error(ctx, GL_INVALID_ENUM, "glMaterial(face)");
5833 _mesa_compile_error(ctx, GL_INVALID_ENUM, "glMaterial(pname)");
5837 if (ctx->ExecuteFlag) {
5838 CALL_Materialfv(ctx->Exec, (face, pname, param));
5841 bitmask = _mesa_material_bitmask(ctx, face, pname, ~0, NULL);
5845 * about ctx->Driver.CurrentSavePrimitive here.
5849 if (ctx->ListState.ActiveMaterialSize[i] == args &&
5850 compare_vec(ctx->ListState.CurrentMaterial[i], param, args)) {
5855 ctx->ListState.ActiveMaterialSize[i] = args;
5856 COPY_SZ_4V(ctx->ListState.CurrentMaterial[i], args, param);
5865 SAVE_FLUSH_VERTICES(ctx);
5867 n = alloc_instruction(ctx, OPCODE_MATERIAL, 6);
5879 GET_CURRENT_CONTEXT(ctx);
5884 _mesa_error(ctx, GL_INVALID_ENUM, "glBegin(mode=%x)", mode);
5887 if (ctx->ExecuteFlag) {
5888 if (!_mesa_valid_prim_mode(ctx, mode, "glBegin")) {
5893 else if (ctx->Driver.CurrentSavePrimitive == PRIM_UNKNOWN) {
5898 ctx->Driver.CurrentSavePrimitive = PRIM_INSIDE_UNKNOWN_PRIM;
5900 else if (ctx->Driver.CurrentSavePrimitive == PRIM_OUTSIDE_BEGIN_END) {
5901 ctx->Driver.CurrentSavePrimitive = mode;
5904 _mesa_compile_error(ctx, GL_INVALID_OPERATION, "recursive begin");
5912 if (ctx->Driver.NotifySaveBegin(ctx, mode))
5915 SAVE_FLUSH_VERTICES(ctx);
5916 n = alloc_instruction(ctx, OPCODE_BEGIN, 1);
5922 if (ctx->ExecuteFlag) {
5923 CALL_Begin(ctx->Exec, (mode));
5930 ctx);
5931 SAVE_FLUSH_VERTICES(ctx);
5932 (void) alloc_instruction(ctx, OPCODE_END, 0);
5933 ctx->Driver.CurrentSavePrimitive = PRIM_OUTSIDE_BEGIN_END;
5934 if (ctx->ExecuteFlag) {
5935 CALL_End(ctx->Exec, ());
5942 GET_CURRENT_CONTEXT(ctx);
5944 SAVE_FLUSH_VERTICES(ctx);
5945 n = alloc_instruction(ctx, OPCODE_RECTF, 4);
5952 if (ctx->ExecuteFlag) {
5953 CALL_Rectf(ctx->Exec, (a, b, c, d));
6170 GET_CURRENT_CONTEXT(ctx);
6171 _mesa_error(ctx, GL_INVALID_VALUE, "VertexAttribf(index)");
6334 GET_CURRENT_CONTEXT(ctx);
6335 FLUSH_VERTICES(ctx, 0);
6336 CALL_BindAttribLocationARB(ctx->Exec, (program, index, name));
6342 GET_CURRENT_CONTEXT(ctx);
6343 FLUSH_VERTICES(ctx, 0);
6344 return CALL_GetAttribLocationARB(ctx->Exec, (program, name));
6350 GET_CURRENT_CONTEXT(ctx);
6351 FLUSH_VERTICES(ctx, 0);
6352 return CALL_GetUniformLocationARB(ctx->Exec, (program, name));
6363 GET_CURRENT_CONTEXT(ctx);
6365 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6366 n = alloc_instruction(ctx, OPCODE_BLIT_FRAMEBUFFER, 10);
6379 if (ctx->ExecuteFlag) {
6380 CALL_BlitFramebufferEXT(ctx->Exec, (srcX0, srcY0, srcX1, srcY1,
6392 GET_CURRENT_CONTEXT(ctx);
6394 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6395 n = alloc_instruction(ctx, OPCODE_PROVOKING_VERTEX, 1);
6399 if (ctx->ExecuteFlag) {
6400 /*CALL_ProvokingVertexEXT(ctx->Exec, (mode));*/
6410 GET_CURRENT_CONTEXT(ctx);
6412 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6413 n = alloc_instruction(ctx, OPCODE_BEGIN_TRANSFORM_FEEDBACK, 1);
6417 if (ctx->ExecuteFlag) {
6418 CALL_BeginTransformFeedbackEXT(ctx->Exec, (mode));
6427 GET_CURRENT_CONTEXT(ctx);
6428 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6429 (void) alloc_instruction(ctx, OPCODE_END_TRANSFORM_FEEDBACK, 0);
6430 if (ctx->ExecuteFlag) {
6431 CALL_EndTransformFeedbackEXT(ctx->Exec, ());
6438 GET_CURRENT_CONTEXT(ctx);
6440 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6441 n = alloc_instruction(ctx, OPCODE_BIND_TRANSFORM_FEEDBACK, 2);
6446 if (ctx->ExecuteFlag) {
6447 CALL_BindTransformFeedback(ctx->Exec, (target, name));
6454 GET_CURRENT_CONTEXT(ctx);
6455 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6456 (void) alloc_instruction(ctx, OPCODE_PAUSE_TRANSFORM_FEEDBACK, 0);
6457 if (ctx->ExecuteFlag) {
6458 CALL_PauseTransformFeedback(ctx->Exec, ());
6465 GET_CURRENT_CONTEXT(ctx);
6466 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6467 (void) alloc_instruction(ctx, OPCODE_RESUME_TRANSFORM_FEEDBACK, 0);
6468 if (ctx->ExecuteFlag) {
6469 CALL_ResumeTransformFeedback(ctx->Exec, ());
6476 GET_CURRENT_CONTEXT(ctx);
6478 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6479 n = alloc_instruction(ctx, OPCODE_DRAW_TRANSFORM_FEEDBACK, 2);
6484 if (ctx->ExecuteFlag) {
6485 CALL_DrawTransformFeedback(ctx->Exec, (mode, name));
6492 GET_CURRENT_CONTEXT(ctx);
6494 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6495 n = alloc_instruction(ctx, OPCODE_DRAW_TRANSFORM_FEEDBACK_STREAM, 3);
6501 if (ctx->ExecuteFlag) {
6502 CALL_DrawTransformFeedbackStream(ctx->Exec, (mode, name, stream));
6510 GET_CURRENT_CONTEXT(ctx);
6512 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6513 n = alloc_instruction(ctx, OPCODE_DRAW_TRANSFORM_FEEDBACK_INSTANCED, 3);
6519 if (ctx->ExecuteFlag) {
6520 CALL_DrawTransformFeedbackInstanced(ctx->Exec, (mode, name, primcount));
6528 GET_CURRENT_CONTEXT(ctx);
6530 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6531 n = alloc_instruction(ctx, OPCODE_DRAW_TRANSFORM_FEEDBACK_STREAM_INSTANCED, 4);
6538 if (ctx->ExecuteFlag) {
6539 CALL_DrawTransformFeedbackStreamInstanced(ctx->Exec, (mode, name, stream,
6548 GET_CURRENT_CONTEXT(ctx);
6550 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6551 n = alloc_instruction(ctx, OPCODE_USE_PROGRAM, 1);
6555 if (ctx->ExecuteFlag) {
6556 CALL_UseProgramObjectARB(ctx->Exec, (program));
6564 GET_CURRENT_CONTEXT(ctx);
6566 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6567 n = alloc_instruction(ctx, OPCODE_UNIFORM_1F, 2);
6572 if (ctx->ExecuteFlag) {
6573 CALL_Uniform1fARB(ctx->Exec, (location, x));
6581 GET_CURRENT_CONTEXT(ctx);
6583 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6584 n = alloc_instruction(ctx, OPCODE_UNIFORM_2F, 3);
6590 if (ctx->ExecuteFlag) {
6591 CALL_Uniform2fARB(ctx->Exec, (location, x, y));
6599 GET_CURRENT_CONTEXT(ctx);
6601 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6602 n = alloc_instruction(ctx, OPCODE_UNIFORM_3F, 4);
6609 if (ctx->ExecuteFlag) {
6610 CALL_Uniform3fARB(ctx->Exec, (location, x, y, z));
6618 GET_CURRENT_CONTEXT(ctx);
6620 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6621 n = alloc_instruction(ctx, OPCODE_UNIFORM_4F, 5);
6629 if (ctx->ExecuteFlag) {
6630 CALL_Uniform4fARB(ctx->Exec, (location, x, y, z, w));
6649 GET_CURRENT_CONTEXT(ctx);
6651 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6652 n = alloc_instruction(ctx, OPCODE_UNIFORM_1FV, 3);
6658 if (ctx->ExecuteFlag) {
6659 CALL_Uniform1fvARB(ctx->Exec, (location, count, v));
6666 GET_CURRENT_CONTEXT(ctx);
6668 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6669 n = alloc_instruction(ctx, OPCODE_UNIFORM_2FV, 3);
6675 if (ctx->ExecuteFlag) {
6676 CALL_Uniform2fvARB(ctx->Exec, (location, count, v));
6683 GET_CURRENT_CONTEXT(ctx);
6685 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6686 n = alloc_instruction(ctx, OPCODE_UNIFORM_3FV, 3);
6692 if (ctx->ExecuteFlag) {
6693 CALL_Uniform3fvARB(ctx->Exec, (location, count, v));
6700 GET_CURRENT_CONTEXT(ctx);
6702 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6703 n = alloc_instruction(ctx, OPCODE_UNIFORM_4FV, 3);
6709 if (ctx->ExecuteFlag) {
6710 CALL_Uniform4fvARB(ctx->Exec, (location, count, v));
6718 GET_CURRENT_CONTEXT(ctx);
6720 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6721 n = alloc_instruction(ctx, OPCODE_UNIFORM_1I, 2);
6726 if (ctx->ExecuteFlag) {
6727 CALL_Uniform1iARB(ctx->Exec, (location, x));
6734 GET_CURRENT_CONTEXT(ctx);
6736 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6737 n = alloc_instruction(ctx, OPCODE_UNIFORM_2I, 3);
6743 if (ctx->ExecuteFlag) {
6744 CALL_Uniform2iARB(ctx->Exec, (location, x, y));
6751 GET_CURRENT_CONTEXT(ctx);
6753 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6754 n = alloc_instruction(ctx, OPCODE_UNIFORM_3I, 4);
6761 if (ctx->ExecuteFlag) {
6762 CALL_Uniform3iARB(ctx->Exec, (location, x, y, z));
6769 GET_CURRENT_CONTEXT(ctx);
6771 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6772 n = alloc_instruction(ctx, OPCODE_UNIFORM_4I, 5);
6780 if (ctx->ExecuteFlag) {
6781 CALL_Uniform4iARB(ctx->Exec, (location, x, y, z, w));
6790 GET_CURRENT_CONTEXT(ctx);
6792 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6793 n = alloc_instruction(ctx, OPCODE_UNIFORM_1IV, 3);
6799 if (ctx->ExecuteFlag) {
6800 CALL_Uniform1ivARB(ctx->Exec, (location, count, v));
6807 GET_CURRENT_CONTEXT(ctx);
6809 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6810 n = alloc_instruction(ctx, OPCODE_UNIFORM_2IV, 3);
6816 if (ctx->ExecuteFlag) {
6817 CALL_Uniform2ivARB(ctx->Exec, (location, count, v));
6824 GET_CURRENT_CONTEXT(ctx);
6826 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6827 n = alloc_instruction(ctx, OPCODE_UNIFORM_3IV, 3);
6833 if (ctx->ExecuteFlag) {
6834 CALL_Uniform3ivARB(ctx->Exec, (location, count, v));
6841 GET_CURRENT_CONTEXT(ctx);
6843 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6844 n = alloc_instruction(ctx, OPCODE_UNIFORM_4IV, 3);
6850 if (ctx->ExecuteFlag) {
6851 CALL_Uniform4ivARB(ctx->Exec, (location, count, v));
6860 GET_CURRENT_CONTEXT(ctx);
6862 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6863 n = alloc_instruction(ctx, OPCODE_UNIFORM_1UI, 2);
6868 if (ctx->ExecuteFlag) {
6869 /*CALL_Uniform1ui(ctx->Exec, (location, x));*/
6876 GET_CURRENT_CONTEXT(ctx);
6878 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6879 n = alloc_instruction(ctx, OPCODE_UNIFORM_2UI, 3);
6885 if (ctx->ExecuteFlag) {
6886 /*CALL_Uniform2ui(ctx->Exec, (location, x, y));*/
6893 GET_CURRENT_CONTEXT(ctx);
6895 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6896 n = alloc_instruction(ctx, OPCODE_UNIFORM_3UI, 4);
6903 if (ctx->ExecuteFlag) {
6904 /*CALL_Uniform3ui(ctx->Exec, (location, x, y, z));*/
6911 GET_CURRENT_CONTEXT(ctx);
6913 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6914 n = alloc_instruction(ctx, OPCODE_UNIFORM_4UI, 5);
6922 if (ctx->ExecuteFlag) {
6923 /*CALL_Uniform4ui(ctx->Exec, (location, x, y, z, w));*/
6932 GET_CURRENT_CONTEXT(ctx);
6934 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6935 n = alloc_instruction(ctx, OPCODE_UNIFORM_1UIV, 3);
6941 if (ctx->ExecuteFlag) {
6942 /*CALL_Uniform1uiv(ctx->Exec, (location, count, v));*/
6949 GET_CURRENT_CONTEXT(ctx);
6951 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6952 n = alloc_instruction(ctx, OPCODE_UNIFORM_2UIV, 3);
6958 if (ctx->ExecuteFlag) {
6959 /*CALL_Uniform2uiv(ctx->Exec, (location, count, v));*/
6966 GET_CURRENT_CONTEXT(ctx);
6968 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6969 n = alloc_instruction(ctx, OPCODE_UNIFORM_3UIV, 3);
6975 if (ctx->ExecuteFlag) {
6976 /*CALL_Uniform3uiv(ctx->Exec, (location, count, v));*/
6983 GET_CURRENT_CONTEXT(ctx);
6985 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
6986 n = alloc_instruction(ctx, OPCODE_UNIFORM_4UIV, 3);
6992 if (ctx->ExecuteFlag) {
6993 /*CALL_Uniform4uiv(ctx->Exec, (location, count, v));*/
7003 GET_CURRENT_CONTEXT(ctx);
7005 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7006 n = alloc_instruction(ctx, OPCODE_UNIFORM_MATRIX22, 4);
7013 if (ctx->ExecuteFlag) {
7014 CALL_UniformMatrix2fvARB(ctx->Exec, (location, count, transpose, m));
7022 GET_CURRENT_CONTEXT(ctx);
7024 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7025 n = alloc_instruction(ctx, OPCODE_UNIFORM_MATRIX33, 4);
7032 if (ctx->ExecuteFlag) {
7033 CALL_UniformMatrix3fvARB(ctx->Exec, (location, count, transpose, m));
7041 GET_CURRENT_CONTEXT(ctx);
7043 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7044 n = alloc_instruction(ctx, OPCODE_UNIFORM_MATRIX44, 4);
7051 if (ctx->ExecuteFlag) {
7052 CALL_UniformMatrix4fvARB(ctx->Exec, (location, count, transpose, m));
7061 GET_CURRENT_CONTEXT(ctx);
7063 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7064 n = alloc_instruction(ctx, OPCODE_UNIFORM_MATRIX23, 4);
7071 if (ctx->ExecuteFlag) {
7072 CALL_UniformMatrix2x3fv(ctx->Exec, (location, count, transpose, m));
7080 GET_CURRENT_CONTEXT(ctx);
7082 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7083 n = alloc_instruction(ctx, OPCODE_UNIFORM_MATRIX32, 4);
7090 if (ctx->ExecuteFlag) {
7091 CALL_UniformMatrix3x2fv(ctx->Exec, (location, count, transpose, m));
7100 GET_CURRENT_CONTEXT(ctx);
7102 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7103 n = alloc_instruction(ctx, OPCODE_UNIFORM_MATRIX24, 4);
7110 if (ctx->ExecuteFlag) {
7111 CALL_UniformMatrix2x4fv(ctx->Exec, (location, count, transpose, m));
7119 GET_CURRENT_CONTEXT(ctx);
7121 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7122 n = alloc_instruction(ctx, OPCODE_UNIFORM_MATRIX42, 4);
7129 if (ctx->ExecuteFlag) {
7130 CALL_UniformMatrix4x2fv(ctx->Exec, (location, count, transpose, m));
7139 GET_CURRENT_CONTEXT(ctx);
7141 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7142 n = alloc_instruction(ctx, OPCODE_UNIFORM_MATRIX34, 4);
7149 if (ctx->ExecuteFlag) {
7150 CALL_UniformMatrix3x4fv(ctx->Exec, (location, count, transpose, m));
7158 GET_CURRENT_CONTEXT(ctx);
7160 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7161 n = alloc_instruction(ctx, OPCODE_UNIFORM_MATRIX43, 4);
7168 if (ctx->ExecuteFlag) {
7169 CALL_UniformMatrix4x3fv(ctx->Exec, (location, count, transpose, m));
7176 GET_CURRENT_CONTEXT(ctx);
7178 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7179 n = alloc_instruction(ctx, OPCODE_CLAMP_COLOR, 2);
7184 if (ctx->ExecuteFlag) {
7185 CALL_ClampColorARB(ctx->Exec, (target, clamp));
7192 GET_CURRENT_CONTEXT(ctx);
7194 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7195 n = alloc_instruction(ctx, OPCODE_USE_SHADER_PROGRAM_EXT, 2);
7200 if (ctx->ExecuteFlag) {
7201 CALL_UseShaderProgramEXT(ctx->Exec, (type, program));
7208 GET_CURRENT_CONTEXT(ctx);
7210 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7211 n = alloc_instruction(ctx, OPCODE_ACTIVE_PROGRAM_EXT, 1);
7215 if (ctx->ExecuteFlag) {
7216 CALL_ActiveProgramEXT(ctx->Exec, (program));
7224 GET_CURRENT_CONTEXT(ctx);
7226 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7227 n = alloc_instruction(ctx, OPCODE_CLEARCOLOR_I, 4);
7234 if (ctx->ExecuteFlag) {
7235 CALL_ClearColorIiEXT(ctx->Exec, (red, green, blue, alpha));
7243 GET_CURRENT_CONTEXT(ctx);
7245 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7246 n = alloc_instruction(ctx, OPCODE_CLEARCOLOR_UI, 4);
7253 if (ctx->ExecuteFlag) {
7254 CALL_ClearColorIuiEXT(ctx->Exec, (red, green, blue, alpha));
7262 GET_CURRENT_CONTEXT(ctx);
7264 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7265 n = alloc_instruction(ctx, OPCODE_TEXPARAMETER_I, 6);
7274 if (ctx->ExecuteFlag) {
7275 CALL_TexParameterIivEXT(ctx->Exec, (target, pname, params));
7283 ctx);
7285 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7286 n = alloc_instruction(ctx, OPCODE_TEXPARAMETER_UI, 6);
7295 if (ctx->ExecuteFlag) {
7296 CALL_TexParameterIuivEXT(ctx->Exec, (target, pname, params));
7304 GET_CURRENT_CONTEXT(ctx);
7305 FLUSH_VERTICES(ctx, 0);
7306 CALL_GetTexParameterIivEXT(ctx->Exec, (target, pname, params));
7313 GET_CURRENT_CONTEXT(ctx);
7314 FLUSH_VERTICES(ctx, 0);
7315 CALL_GetTexParameterIuivEXT(ctx->Exec, (target, pname, params));
7323 GET_CURRENT_CONTEXT(ctx);
7325 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7326 n = alloc_instruction(ctx, OPCODE_VERTEX_ATTRIB_DIVISOR, 2);
7331 if (ctx->ExecuteFlag) {
7332 CALL_VertexAttribDivisorARB(ctx->Exec, (index, divisor));
7341 GET_CURRENT_CONTEXT(ctx);
7342 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7343 alloc_instruction(ctx, OPCODE_TEXTURE_BARRIER_NV, 0);
7344 if (ctx->ExecuteFlag) {
7345 CALL_TextureBarrierNV(ctx->Exec, ());
7355 GET_CURRENT_CONTEXT(ctx);
7356 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7357 n = alloc_instruction(ctx, OPCODE_BIND_SAMPLER, 2);
7362 if (ctx->ExecuteFlag) {
7363 CALL_BindSampler(ctx->Exec, (unit, sampler));
7371 GET_CURRENT_CONTEXT(ctx);
7372 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7373 n = alloc_instruction(ctx, OPCODE_SAMPLER_PARAMETERIV, 6);
7387 if (ctx->ExecuteFlag) {
7388 CALL_SamplerParameteriv(ctx->Exec, (sampler, pname, params));
7402 GET_CURRENT_CONTEXT(ctx);
7403 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7404 n = alloc_instruction(ctx, OPCODE_SAMPLER_PARAMETERFV, 6);
7418 if (ctx->ExecuteFlag) {
7419 CALL_SamplerParameterfv(ctx->Exec, (sampler, pname, params));
7433 GET_CURRENT_CONTEXT(ctx);
7434 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7435 n = alloc_instruction(ctx, OPCODE_SAMPLER_PARAMETERIIV, 6);
7449 if (ctx->ExecuteFlag) {
7450 CALL_SamplerParameterIiv(ctx->Exec, (sampler, pname, params));
7458 GET_CURRENT_CONTEXT(ctx);
7459 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7460 n = alloc_instruction(ctx, OPCODE_SAMPLER_PARAMETERUIV, 6);
7474 if (ctx->ExecuteFlag) {
7475 CALL_SamplerParameterIuiv(ctx->Exec, (sampler, pname, params));
7484 GET_CURRENT_CONTEXT(ctx);
7485 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7486 n = alloc_instruction(ctx, OPCODE_PROGRAM_PARAMETERI, 3);
7492 if (ctx->ExecuteFlag) {
7493 CALL_ProgramParameteriARB(ctx->Exec, (program, pname, value));
7502 GET_CURRENT_CONTEXT(ctx);
7503 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7504 n = alloc_instruction(ctx, OPCODE_FRAMEBUFFER_TEXTURE, 4);
7511 if (ctx->ExecuteFlag) {
7512 CALL_FramebufferTextureARB(ctx->Exec, (target, attachment, texture, level));
7521 GET_CURRENT_CONTEXT(ctx);
7522 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7523 n = alloc_instruction(ctx, OPCODE_FRAMEBUFFER_TEXTURE_FACE, 5);
7531 if (ctx->ExecuteFlag) {
7532 CALL_FramebufferTextureFaceARB(ctx->Exec, (target, attachment, texture,
7543 GET_CURRENT_CONTEXT(ctx);
7544 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7545 n = alloc_instruction(ctx, OPCODE_WAIT_SYNC, 4);
7554 if (ctx->ExecuteFlag) {
7555 CALL_WaitSync(ctx->Exec, (sync, flags, timeout));
7564 GET_CURRENT_CONTEXT(ctx);
7566 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7567 n = alloc_instruction(ctx, OPCODE_BEGIN_CONDITIONAL_RENDER, 2);
7572 if (ctx->ExecuteFlag) {
7573 CALL_BeginConditionalRenderNV(ctx->Exec, (queryId, mode));
7580 GET_CURRENT_CONTEXT(ctx);
7581 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7582 alloc_instruction(ctx, OPCODE_END_CONDITIONAL_RENDER, 0);
7583 if (ctx->ExecuteFlag) {
7584 CALL_EndConditionalRenderNV(ctx->Exec, ());
7591 GET_CURRENT_CONTEXT(ctx);
7593 ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
7594 n = alloc_instruction(ctx, OPCODE_UNIFORM_BLOCK_BINDING, 3);
7600 if (ctx->ExecuteFlag) {
7601 CALL_UniformBlockBinding(ctx->Exec, (prog, index, binding));
7613 save_error(struct gl_context *ctx, GLenum error, const char *s)
7616 n = alloc_instruction(ctx, OPCODE_ERROR, 2);
7628 _mesa_compile_error(struct gl_context *ctx, GLenum error, const char *s)
7630 if (ctx->CompileFlag)
7631 save_error(ctx, error, s);
7632 if (ctx->ExecuteFlag)
7633 _mesa_error(ctx, error, "%s", s);
7641 islist(struct gl_context *ctx, GLuint list)
7643 if (list > 0 && lookup_list(ctx, list)) {
7665 execute_list(struct gl_context *ctx, GLuint list)
7671 if (list == 0 || !islist(ctx, list))
7674 if (ctx->ListState.CallDepth == MAX_LIST_NESTING) {
7679 dlist = lookup_list(ctx, list);
7683 ctx->ListState.CallDepth++;
7685 if (ctx->Driver.BeginCallList)
7686 ctx->Driver.BeginCallList(ctx, dlist);
7695 n += ext_opcode_execute(ctx, n);
7700 _mesa_error(ctx, n[1].e, "%s", (const char *) n[2].data);
7703 CALL_Accum(ctx->Exec, (n[1].e, n[2].f));
7706 CALL_AlphaFunc(ctx->Exec, (n[1].e, n[2].f));
7709 CALL_BindTexture(ctx->Exec, (n[1].e, n[2].ui));
7713 const struct gl_pixelstore_attrib save = ctx->Unpack;
7714 ctx->Unpack = ctx->DefaultPacking;
7715 CALL_Bitmap(ctx->Exec, ((GLsizei) n[1].i, (GLsizei) n[2].i,
7718 ctx->Unpack = save; /* restore */
7722 CALL_BlendColor(ctx->Exec, (n[1].f, n[2].f, n[3].f, n[4].f));
7725 CALL_BlendEquation(ctx->Exec, (n[1].e));
7728 CALL_BlendEquationSeparateEXT(ctx->Exec, (n[1].e, n[2].e));
7731 CALL_BlendFuncSeparateEXT(ctx->Exec,
7737 CALL_BlendFunciARB(ctx->Exec, (n[1].ui, n[2].e, n[3].e));
7741 CALL_BlendFuncSeparateiARB(ctx->Exec, (n[1].ui, n[2].e, n[3].e,
7746 CALL_BlendEquationiARB(ctx->Exec, (n[1].ui, n[2].e));
7750 CALL_BlendEquationSeparateiARB(ctx->Exec,
7756 if (ctx->ListState.CallDepth < MAX_LIST_NESTING) {
7757 execute_list(ctx, n[1].ui);
7764 _mesa_error(ctx, GL_INVALID_ENUM, "glCallLists(type)");
7766 else if (ctx->ListState.CallDepth < MAX_LIST_NESTING) {
7767 GLuint list = (GLuint) (ctx->List.ListBase + n[1].i);
7768 execute_list(ctx, list);
7772 CALL_Clear(ctx->Exec, (n[1].bf));
7781 CALL_ClearBufferiv(ctx->Exec, (n[1].e, n[2].i, value));
7791 CALL_ClearBufferuiv(ctx->Exec, (n[1].e, n[2].i, value));
7801 CALL_ClearBufferfv(ctx->Exec, (n[1].e, n[2].i, value));
7805 CALL_ClearBufferfi(ctx->Exec, (n[1].e, n[2].i, n[3].f, n[4].i));
7808 CALL_ClearColor(ctx->Exec, (n[1].f, n[2].f, n[3].f, n[4].f));
7811 CALL_ClearAccum(ctx->Exec, (n[1].f, n[2].f, n[3].f, n[4].f));
7814 CALL_ClearDepth(ctx->Exec, ((GLclampd) n[1].f));
7817 CALL_ClearIndex(ctx->Exec, ((GLfloat) n[1].ui));
7820 CALL_ClearStencil(ctx->Exec, (n[1].i));
7829 CALL_ClipPlane(ctx->Exec, (n[1].e, eq));
7833 CALL_ColorMask(ctx->Exec, (n[1].b, n[2].b, n[3].b, n[4].b));
7836 CALL_ColorMaskIndexedEXT(ctx->Exec, (n[1].ui, n[2].b, n[3].b,
7840 CALL_ColorMaterial(ctx->Exec, (n[1].e, n[2].e));
7844 const struct gl_pixelstore_attrib save = ctx->Unpack;
7845 ctx->Unpack = ctx->DefaultPacking;
7846 CALL_ColorTable(ctx->Exec, (n[1].e, n[2].e, n[3].i, n[4].e,
7848 ctx->Unpack = save; /* restore */
7858 CALL_ColorTableParameterfv(ctx->Exec,
7869 CALL_ColorTableParameteriv(ctx->Exec,
7875 const struct gl_pixelstore_attrib save = ctx->Unpack;
7876 ctx->Unpack = ctx->DefaultPacking;
7877 CALL_ColorSubTable(ctx->Exec, (n[1].e, n[2].i, n[3].i,
7879 ctx->Unpack = save; /* restore */
7884 const struct gl_pixelstore_attrib save = ctx->Unpack;
7885 ctx->Unpack = ctx->DefaultPacking;
7886 CALL_ConvolutionFilter1D(ctx->Exec, (n[1].e, n[2].i, n[3].i,
7889 ctx->Unpack = save; /* restore */
7894 const struct gl_pixelstore_attrib save = ctx->Unpack;
7895 ctx->Unpack = ctx->DefaultPacking;
7896 CALL_ConvolutionFilter2D(ctx->Exec, (n[1].e, n[2].i, n[3].i,
7899 ctx->Unpack = save; /* restore */
7903 CALL_ConvolutionParameteri(ctx->Exec, (n[1].e, n[2].e, n[3].i));
7912 CALL_ConvolutionParameteriv(ctx->Exec,
7917 CALL_ConvolutionParameterf(ctx->Exec, (n[1].e, n[2].e, n[3].f));
7926 CALL_ConvolutionParameterfv(ctx->Exec,
7931 CALL_CopyColorSubTable(ctx->Exec, (n[1].e, n[2].i,
7935 CALL_CopyColorSubTable(ctx->Exec, (n[1].e, n[2].i,
7939 CALL_CopyPixels(ctx->Exec, (n[1].i, n[2].i,
7944 CALL_CopyTexImage1D(ctx->Exec, (n[1].e, n[2].i, n[3].e, n[4].i,
7948 CALL_CopyTexImage2D(ctx->Exec, (n[1].e, n[2].i, n[3].e, n[4].i,
7952 CALL_CopyTexSubImage1D(ctx->Exec, (n[1].e, n[2].i, n[3].i,
7956 CALL_CopyTexSubImage2D(ctx->Exec, (n[1].e, n[2].i, n[3].i,
7961 CALL_CopyTexSubImage3D(ctx->Exec, (n[1].e, n[2].i, n[3].i,
7966 CALL_CullFace(ctx->Exec, (n[1].e));
7969 CALL_DepthFunc(ctx->Exec, (n[1].e));
7972 CALL_DepthMask(ctx->Exec, (n[1].b));
7975 CALL_DepthRange(ctx->Exec,
7979 CALL_Disable(ctx->Exec, (n[1].e));
7982 CALL_DisableIndexedEXT(ctx->Exec, (n[1].ui, n[2].e));
7985 CALL_DrawBuffer(ctx->Exec, (n[1].e));
7989 const struct gl_pixelstore_attrib save = ctx->Unpack;
7990 ctx->Unpack = ctx->DefaultPacking;
7991 CALL_DrawPixels(ctx->Exec, (n[1].i, n[2].i, n[3].e, n[4].e,
7993 ctx->Unpack = save; /* restore */
7997 CALL_Enable(ctx->Exec, (n[1].e));
8000 CALL_EnableIndexedEXT(ctx->Exec, (n[1].ui, n[2].e));
8003 CALL_EvalMesh1(ctx->Exec, (n[1].e, n[2].i, n[3].i));
8006 CALL_EvalMesh2(ctx->Exec,
8016 CALL_Fogfv(ctx->Exec, (n[1].e, p));
8020 CALL_FrontFace(ctx->Exec, (n[1].e));
8023 CALL_Frustum(ctx->Exec,
8027 CALL_Hint(ctx->Exec, (n[1].e, n[2].e));
8030 CALL_Histogram(ctx->Exec, (n[1].e, n[2].i, n[3].e, n[4].b));
8033 CALL_IndexMask(ctx->Exec, (n[1].ui));
8036 CALL_InitNames(ctx->Exec, ());
8045 CALL_Lightfv(ctx->Exec, (n[1].e, n[2].e, p));
8055 CALL_LightModelfv(ctx->Exec, (n[1].e, p));
8059 CALL_LineStipple(ctx->Exec, (n[1].i, n[2].us));
8062 CALL_LineWidth(ctx->Exec, (n[1].f));
8065 CALL_ListBase(ctx->Exec, (n[1].ui));
8068 CALL_LoadIdentity(ctx->Exec, ());
8072 CALL_LoadMatrixf(ctx->Exec, (&n[1].f));
8080 CALL_LoadMatrixf(ctx->Exec, (m));
8084 CALL_LoadName(ctx->Exec, (n[1].ui));
8087 CALL_LogicOp(ctx->Exec, (n[1].e));
8096 CALL_Map1f(ctx->Exec, (target, u1, u2, ustride, uorder,
8111 CALL_Map2f(ctx->Exec, (target, u1, u2, ustride, uorder,
8117 CALL_MapGrid1f(ctx->Exec, (n[1].i, n[2].f, n[3].f));
8120 CALL_MapGrid2f(ctx->Exec,
8124 CALL_MatrixMode(ctx->Exec, (n[1].e));
8127 CALL_Minmax(ctx->Exec, (n[1].e, n[2].e, n[3].b));
8131 CALL_MultMatrixf(ctx->Exec, (&n[1].f));
8139 CALL_MultMatrixf(ctx->Exec, (m));
8143 CALL_Ortho(ctx->Exec,
8147 CALL_PassThrough(ctx->Exec, (n[1].f));
8150 CALL_PixelMapfv(ctx->Exec,
8154 CALL_PixelTransferf(ctx->Exec, (n[1].e, n[2].f));
8157 CALL_PixelZoom(ctx->Exec, (n[1].f, n[2].f));
8160 CALL_PointSize(ctx->Exec, (n[1].f));
8168 CALL_PointParameterfvEXT(ctx->Exec, (n[1].e, params));
8172 CALL_PolygonMode(ctx->Exec, (n[1].e, n[2].e));
8176 const struct gl_pixelstore_attrib save = ctx->Unpack;
8177 ctx->Unpack = ctx->DefaultPacking;
8178 CALL_PolygonStipple(ctx->Exec, ((GLubyte *) n[1].data));
8179 ctx->Unpack = save; /* restore */
8183 CALL_PolygonOffset(ctx->Exec, (n[1].f, n[2].f));
8186 CALL_PopAttrib(ctx->Exec, ());
8189 CALL_PopMatrix(ctx->Exec, ());
8192 CALL_PopName(ctx->Exec, ());
8195 CALL_PrioritizeTextures(ctx->Exec, (1, &n[1].ui, &n[2].f));
8198 CALL_PushAttrib(ctx->Exec, (n[1].bf));
8201 CALL_PushMatrix(ctx->Exec, ());
8204 CALL_PushName(ctx->Exec, (n[1].ui));
8207 CALL_RasterPos4f(ctx->Exec, (n[1].f, n[2].f, n[3].f, n[4].f));
8210 CALL_ReadBuffer(ctx->Exec, (n[1].e));
8213 CALL_ResetHistogram(ctx->Exec, (n[1].e));
8216 CALL_ResetMinmax(ctx->Exec, (n[1].e));
8219 CALL_Rotatef(ctx->Exec, (n[1].f, n[2].f, n[3].f, n[4].f));
8222 CALL_Scalef(ctx->Exec, (n[1].f, n[2].f, n[3].f));
8225 CALL_Scissor(ctx->Exec, (n[1].i, n[2].i, n[3].i, n[4].i));
8228 CALL_ShadeModel(ctx->Exec, (n[1].e));
8231 CALL_ProvokingVertexEXT(ctx->Exec, (n[1].e));
8234 CALL_StencilFunc(ctx->Exec, (n[1].e, n[2].i, n[3].ui));
8237 CALL_StencilMask(ctx->Exec, (n[1].ui));
8240 CALL_StencilOp(ctx->Exec, (n[1].e, n[2].e, n[3].e));
8243 CALL_StencilFuncSeparate(ctx->Exec,
8247 CALL_StencilMaskSeparate(ctx->Exec, (n[1].e, n[2].ui));
8250 CALL_StencilOpSeparate(ctx->Exec,
8260 CALL_TexEnvfv(ctx->Exec, (n[1].e, n[2].e, params));
8270 CALL_TexGenfv(ctx->Exec, (n[1].e, n[2].e, params));
8280 CALL_TexParameterfv(ctx->Exec, (n[1].e, n[2].e, params));
8285 const struct gl_pixelstore_attrib save = ctx->Unpack;
8286 ctx->Unpack = ctx->DefaultPacking;
8287 CALL_TexImage1D(ctx->Exec, (n[1].e, /* target */
8295 ctx->Unpack = save; /* restore */
8300 const struct gl_pixelstore_attrib save = ctx->Unpack;
8301 ctx->Unpack = ctx->DefaultPacking;
8302 CALL_TexImage2D(ctx->Exec, (n[1].e, /* target */
8311 ctx->Unpack = save; /* restore */
8316 const struct gl_pixelstore_attrib save = ctx->Unpack;
8317 ctx->Unpack = ctx->DefaultPacking;
8318 CALL_TexImage3D(ctx->Exec, (n[1].e, /* target */
8328 ctx->Unpack = save; /* restore */
8333 const struct gl_pixelstore_attrib save = ctx->Unpack;
8334 ctx->Unpack = ctx->DefaultPacking;
8335 CALL_TexSubImage1D(ctx->Exec, (n[1].e, n[2].i, n[3].i,
8338 ctx->Unpack = save; /* restore */
8343 const struct gl_pixelstore_attrib save = ctx->Unpack;
8344 ctx->Unpack = ctx->DefaultPacking;
8345 CALL_TexSubImage2D(ctx->Exec, (n[1].e, n[2].i, n[3].i,
8349 ctx->Unpack = save; /* restore */
8354 const struct gl_pixelstore_attrib save = ctx->Unpack;
8355 ctx->Unpack = ctx->DefaultPacking;
8356 CALL_TexSubImage3D(ctx->Exec, (n[1].e, n[2].i, n[3].i,
8360 ctx->Unpack = save; /* restore */
8364 CALL_Translatef(ctx->Exec, (n[1].f, n[2].f, n[3].f));
8367 CALL_Viewport(ctx->Exec, (n[1].i, n[2].i,
8371 CALL_WindowPos4fMESA(ctx->Exec, (n[1].f, n[2].f, n[3].f, n[4].f));
8374 CALL_ActiveTextureARB(ctx->Exec, (n[1].e));
8377 CALL_CompressedTexImage1DARB(ctx->Exec, (n[1].e, n[2].i, n[3].e,
8382 CALL_CompressedTexImage2DARB(ctx->Exec, (n[1].e, n[2].i, n[3].e,
8387 CALL_CompressedTexImage3DARB(ctx->Exec, (n[1].e, n[2].i, n[3].e,
8393 CALL_CompressedTexSubImage1DARB(ctx->Exec,
8398 CALL_CompressedTexSubImage2DARB(ctx->Exec,
8404 CALL_CompressedTexSubImage3DARB(ctx->Exec,
8410 CALL_SampleCoverageARB(ctx->Exec, (n[1].f, n[2].b));
8413 CALL_WindowPos3fMESA(ctx->Exec, (n[1].f, n[2].f, n[3].f));
8417 CALL_BindProgramNV(ctx->Exec, (n[1].e, n[2].ui));
8428 CALL_ExecuteProgramNV(ctx->Exec, (n[1].e, n[2].ui, v));
8432 CALL_RequestResidentProgramsNV(ctx->Exec, (n[1].ui,
8436 CALL_LoadProgramNV(ctx->Exec, (n[1].e, n[2].ui, n[3].i,
8440 CALL_TrackMatrixNV(ctx->Exec, (n[1].e, n[2].ui, n[3].e, n[4].e));
8446 CALL_ProgramLocalParameter4fARB(ctx->Exec,
8451 CALL_ProgramNamedParameter4fNV(ctx->Exec, (n[1].ui, n[2].i,
8459 CALL_ActiveStencilFaceEXT(ctx->Exec, (n[1].e));
8462 CALL_DepthBoundsEXT(ctx->Exec, (n[1].f, n[2].f));
8466 CALL_ProgramStringARB(ctx->Exec,
8472 CALL_ProgramEnvParameter4fARB(ctx->Exec, (n[1].e, n[2].ui, n[3].f,
8479 CALL_BeginQueryARB(ctx->Exec, (n[1].e, n[2].ui));
8482 CALL_EndQueryARB(ctx->Exec, (n[1].e));
8485 CALL_QueryCounter(ctx->Exec, (n[1].ui, n[2].e));
8488 CALL_BeginQueryIndexed(ctx->Exec, (n[1].e, n[2].ui, n[3].ui));
8491 CALL_EndQueryIndexed(ctx->Exec, (n[1].e, n[2].ui));
8500 CALL_DrawBuffersARB(ctx->Exec, (n[1].i, buffers));
8505 CALL_BlitFramebufferEXT(ctx->Exec, (n[1].i, n[2].i, n[3].i, n[4].i,
8512 CALL_UseProgramObjectARB(ctx->Exec, (n[1].ui));
8515 CALL_UseShaderProgramEXT(ctx->Exec, (n[1].ui, n[2].ui));
8518 CALL_ActiveProgramEXT(ctx->Exec, (n[1].ui));
8521 CALL_Uniform1fARB(ctx->Exec, (n[1].i, n[2].f));
8524 CALL_Uniform2fARB(ctx->Exec, (n[1].i, n[2].f, n[3].f));
8527 CALL_Uniform3fARB(ctx->Exec, (n[1].i, n[2].f, n[3].f, n[4].f));
8530 CALL_Uniform4fARB(ctx->Exec,
8534 CALL_Uniform1fvARB(ctx->Exec, (n[1].i, n[2].i, n[3].data));
8537 CALL_Uniform2fvARB(ctx->Exec, (n[1].i, n[2].i, n[3].data));
8540 CALL_Uniform3fvARB(ctx->Exec, (n[1].i, n[2].i, n[3].data));
8543 CALL_Uniform4fvARB(ctx->Exec, (n[1].i, n[2].i, n[3].data));
8546 CALL_Uniform1iARB(ctx->Exec, (n[1].i, n[2].i));
8549 CALL_Uniform2iARB(ctx->Exec, (n[1].i, n[2].i, n[3].i));
8552 CALL_Uniform3iARB(ctx->Exec, (n[1].i, n[2].i, n[3].i, n[4].i));
8555 CALL_Uniform4iARB(ctx->Exec,
8559 CALL_Uniform1ivARB(ctx->Exec, (n[1].i, n[2].i, n[3].data));
8562 CALL_Uniform2ivARB(ctx->Exec, (n[1].i, n[2].i, n[3].data));
8565 CALL_Uniform3ivARB(ctx->Exec, (n[1].i, n[2].i, n[3].data));
8568 CALL_Uniform4ivARB(ctx->Exec, (n[1].i, n[2].i, n[3].data));
8571 /*CALL_Uniform1uiARB(ctx->Exec, (n[1].i, n[2].i));*/
8574 /*CALL_Uniform2uiARB(ctx->Exec, (n[1].i, n[2].i, n[3].i));*/
8577 /*CALL_Uniform3uiARB(ctx->Exec, (n[1].i, n[2].i, n[3].i, n[4].i));*/
8580 /*CALL_Uniform4uiARB(ctx->Exec,
8585 /*CALL_Uniform1uivARB(ctx->Exec, (n[1].i, n[2].i, n[3].data));*/
8588 /*CALL_Uniform2uivARB(ctx->Exec, (n[1].i, n[2].i, n[3].data));*/
8591 /*CALL_Uniform3uivARB(ctx->Exec, (n[1].i, n[2].i, n[3].data));*/
8594 /*CALL_Uniform4uivARB(ctx->Exec, (n[1].i, n[2].i, n[3].data));*/
8597 CALL_UniformMatrix2fvARB(ctx->Exec,
8601 CALL_UniformMatrix3fvARB(ctx->Exec,
8605 CALL_UniformMatrix4fvARB(ctx->Exec,
8609 CALL_UniformMatrix2x3fv(ctx->Exec,
8613 CALL_UniformMatrix3x2fv(ctx->Exec,
8617 CALL_UniformMatrix2x4fv(ctx->Exec,
8621 CALL_UniformMatrix4x2fv(ctx->Exec,
8625 CALL_UniformMatrix3x4fv(ctx->Exec,
8629 CALL_UniformMatrix4x3fv(ctx->Exec,
8634 CALL_ClampColorARB(ctx->Exec, (n[1].e, n[2].e));
8644 CALL_TexBumpParameterfvATI(ctx->Exec, (pname, values));
8649 CALL_BindFragmentShaderATI(ctx->Exec, (n[1].i));
8658 CALL_SetFragmentShaderConstantATI(ctx->Exec, (dst, values));
8663 CALL_VertexAttrib1fNV(ctx->Exec, (n[1].e, n[2].f));
8673 CALL_VertexAttrib2fvNV(ctx->Exec, (n[1].e, &n[2].f));
8675 CALL_VertexAttrib2fNV(ctx->Exec, (n[1].e, n[2].f, n[3].f));
8679 CALL_VertexAttrib3fvNV(ctx->Exec, (n[1].e, &n[2].f));
8681 CALL_VertexAttrib3fNV(ctx->Exec, (n[1].e, n[2].f, n[3].f,
8686 CALL_VertexAttrib4fvNV(ctx->Exec, (n[1].e, &n[2].f));
8688 CALL_VertexAttrib4fNV(ctx->Exec, (n[1].e, n[2].f, n[3].f,
8692 CALL_VertexAttrib1fARB(ctx->Exec, (n[1].e, n[2].f));
8702 CALL_VertexAttrib2fvARB(ctx->Exec, (n[1].e, &n[2].f));
8704 CALL_VertexAttrib2fARB(ctx->Exec, (n[1].e, n[2].f, n[3].f));
8708 CALL_VertexAttrib3fvARB(ctx->Exec, (n[1].e, &n[2].f));
8710 CALL_VertexAttrib3fARB(ctx->Exec, (n[1].e, n[2].f, n[3].f,
8715 CALL_VertexAttrib4fvARB(ctx->Exec, (n[1].e, &n[2].f));
8717 CALL_VertexAttrib4fARB(ctx->Exec, (n[1].e, n[2].f, n[3].f,
8722 CALL_Materialfv(ctx->Exec, (n[1].e, n[2].e, &n[3].f));
8729 CALL_Materialfv(ctx->Exec, (n[1].e, n[2].e, f));
8733 CALL_Begin(ctx->Exec, (n[1].e));
8736 CALL_End(ctx->Exec, ());
8739 CALL_Rectf(ctx->Exec, (n[1].f, n[2].f, n[3].f, n[4].f));
8742 CALL_EvalCoord1f(ctx->Exec, (n[1].f));
8745 CALL_EvalCoord2f(ctx->Exec, (n[1].f, n[2].f));
8748 CALL_EvalPoint1(ctx->Exec, (n[1].i));
8751 CALL_EvalPoint2(ctx->Exec, (n[1].i, n[2].i));
8756 CALL_ClearColorIiEXT(ctx->Exec, (n[1].i, n[2].i, n[3].i, n[4].i));
8759 CALL_ClearColorIuiEXT(ctx->Exec,
8769 CALL_TexParameterIivEXT(ctx->Exec, (n[1].e, n[2].e, params));
8779 CALL_TexParameterIuivEXT(ctx->Exec, (n[1].e, n[2].e, params));
8785 CALL_VertexAttribDivisorARB(ctx->Exec, (n[1].ui, n[2].ui));
8789 CALL_TextureBarrierNV(ctx->Exec, ());
8794 CALL_BeginTransformFeedbackEXT(ctx->Exec, (n[1].e));
8797 CALL_EndTransformFeedbackEXT(ctx->Exec, ());
8800 CALL_BindTransformFeedback(ctx->Exec, (n[1].e, n[2].ui));
8803 CALL_PauseTransformFeedback(ctx->Exec, ());
8806 CALL_ResumeTransformFeedback(ctx->Exec, ());
8809 CALL_DrawTransformFeedback(ctx->Exec, (n[1].e, n[2].ui));
8812 CALL_DrawTransformFeedbackStream(ctx->Exec,
8816 CALL_DrawTransformFeedbackInstanced(ctx->Exec,
8820 CALL_DrawTransformFeedbackStreamInstanced(ctx->Exec,
8826 CALL_BindSampler(ctx->Exec, (n[1].ui, n[2].ui));
8835 CALL_SamplerParameteriv(ctx->Exec, (n[1].ui, n[2].e, params));
8845 CALL_SamplerParameterfv(ctx->Exec, (n[1].ui, n[2].e, params));
8855 CALL_SamplerParameterIiv(ctx->Exec, (n[1].ui, n[2].e, params));
8865 CALL_SamplerParameterIuiv(ctx->Exec, (n[1].ui, n[2].e, params));
8871 CALL_ProgramParameteriARB(ctx->Exec, (n[1].ui, n[2].e, n[3].i));
8874 CALL_FramebufferTextureARB(ctx->Exec, (n[1].e, n[2].e,
8878 CALL_FramebufferTextureFaceARB(ctx->Exec, (n[1].e, n[2].e,
8888 CALL_WaitSync(ctx->Exec, (n[1].data, n[2].bf, p.uint64));
8894 CALL_BeginConditionalRenderNV(ctx->Exec, (n[1].i, n[2].e));
8897 CALL_EndConditionalRenderNV(ctx->Exec, ());
8901 CALL_UniformBlockBinding(ctx->Exec, (n[1].ui, n[2].ui, n[3].ui));
8915 _mesa_problem(ctx, "%s", msg);
8927 if (ctx->Driver.EndCallList)
8928 ctx->Driver.EndCallList(ctx);
8930 ctx->ListState.CallDepth--;
8945 GET_CURRENT_CONTEXT(ctx);
8946 FLUSH_VERTICES(ctx, 0); /* must be called before assert */
8947 ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_FALSE);
8948 return islist(ctx, list);
8958 GET_CURRENT_CONTEXT(ctx);
8960 FLUSH_VERTICES(ctx, 0); /* must be called before assert */
8961 ASSERT_OUTSIDE_BEGIN_END(ctx);
8964 _mesa_error(ctx, GL_INVALID_VALUE, "glDeleteLists");
8968 destroy_list(ctx, i);
8980 GET_CURRENT_CONTEXT(ctx);
8982 FLUSH_VERTICES(ctx, 0); /* must be called before assert */
8983 ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, 0);
8986 _mesa_error(ctx, GL_INVALID_VALUE, "glGenLists");
8996 _glthread_LOCK_MUTEX(ctx->Shared->Mutex);
8998 base = _mesa_HashFindFreeKeyBlock(ctx->Shared->DisplayList, range);
9003 _mesa_HashInsert(ctx->Shared->DisplayList, base + i,
9008 _glthread_UNLOCK_MUTEX(ctx->Shared->Mutex);
9020 GET_CURRENT_CONTEXT(ctx);
9022 FLUSH_CURRENT(ctx, 0); /* must be called before assert */
9023 ASSERT_OUTSIDE_BEGIN_END(ctx);
9026 _mesa_debug(ctx, "glNewList %u %s\n", name,
9030 _mesa_error(ctx, GL_INVALID_VALUE, "glNewList");
9035 _mesa_error(ctx, GL_INVALID_ENUM, "glNewList");
9039 if (ctx->ListState.CurrentList) {
9041 _mesa_error(ctx, GL_INVALID_OPERATION, "glNewList");
9045 ctx->CompileFlag = GL_TRUE;
9046 ctx->ExecuteFlag = (mode == GL_COMPILE_AND_EXECUTE);
9050 invalidate_saved_current_state( ctx );
9053 ctx->ListState.CurrentList = make_list(name, BLOCK_SIZE);
9054 ctx->ListState.CurrentBlock = ctx->ListState.CurrentList->Head;
9055 ctx->ListState.CurrentPos = 0;
9057 ctx->Driver.NewList(ctx, name, mode);
9059 ctx->CurrentDispatch = ctx->Save;
9060 _glapi_set_dispatch(ctx->CurrentDispatch);
9070 GET_CURRENT_CONTEXT(ctx);
9071 SAVE_FLUSH_VERTICES(ctx);
9072 ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
9075 _mesa_debug(ctx, "glEndList\n");
9078 if (!ctx->ListState.CurrentList) {
9079 _mesa_error(ctx, GL_INVALID_OPERATION, "glEndList");
9086 ctx->Driver.EndList(ctx);
9088 (void) alloc_instruction(ctx, OPCODE_END_OF_LIST, 0);
9091 destroy_list(ctx, ctx->ListState.CurrentList->Name);
9094 _mesa_HashInsert(ctx->Shared->DisplayList,
9095 ctx->ListState.CurrentList->Name,
9096 ctx->ListState.CurrentList);
9100 mesa_print_display_list(ctx->ListState.CurrentList->Name);
9102 ctx->ListState.CurrentList = NULL;
9103 ctx->ExecuteFlag = GL_TRUE;
9104 ctx->CompileFlag = GL_FALSE;
9106 ctx->CurrentDispatch = ctx->Exec;
9107 _glapi_set_dispatch(ctx->CurrentDispatch);
9115 GET_CURRENT_CONTEXT(ctx);
9116 FLUSH_CURRENT(ctx, 0);
9119 _mesa_debug(ctx, "glCallList %d\n", list);
9122 _mesa_error(ctx, GL_INVALID_VALUE, "glCallList(list==0)");
9132 save_compile_flag = ctx->CompileFlag;
9134 ctx->CompileFlag = GL_FALSE;
9137 execute_list(ctx, list);
9138 ctx->CompileFlag = save_compile_flag;
9142 ctx->CurrentDispatch = ctx->Save;
9143 _glapi_set_dispatch(ctx->CurrentDispatch);
9154 GET_CURRENT_CONTEXT(ctx);
9159 _mesa_debug(ctx, "glCallLists %d\n", n);
9175 _mesa_error(ctx, GL_INVALID_ENUM, "glCallLists(type)");
9182 save_compile_flag = ctx->CompileFlag;
9183 ctx->CompileFlag = GL_FALSE;
9186 GLuint list = (GLuint) (ctx->List.ListBase + translate_id(i, type, lists));
9187 execute_list(ctx, list);
9190 ctx->CompileFlag = save_compile_flag;
9194 ctx->CurrentDispatch = ctx->Save;
9195 _glapi_set_dispatch(ctx->CurrentDispatch);
9206 ctx);
9207 FLUSH_VERTICES(ctx, 0); /* must be called before assert */
9208 ASSERT_OUTSIDE_BEGIN_END(ctx);
9209 ctx->List.ListBase = base;
9213 /* Can no longer assume ctx->Exec->Func is equal to _mesa_Func.
9218 GET_CURRENT_CONTEXT(ctx);
9219 FLUSH_VERTICES(ctx, 0);
9220 CALL_Finish(ctx->Exec, ());
9226 GET_CURRENT_CONTEXT(ctx);
9227 FLUSH_VERTICES(ctx, 0);
9228 CALL_Flush(ctx->Exec, ());
9234 GET_CURRENT_CONTEXT(ctx);
9235 FLUSH_VERTICES(ctx, 0);
9236 CALL_GetBooleanv(ctx->Exec, (pname, params));
9242 GET_CURRENT_CONTEXT(ctx);
9243 FLUSH_VERTICES(ctx, 0);
9244 CALL_GetClipPlane(ctx->Exec, (plane, equation));
9250 GET_CURRENT_CONTEXT(ctx);
9251 FLUSH_VERTICES(ctx, 0);
9252 CALL_GetDoublev(ctx->Exec, (pname, params));
9258 GET_CURRENT_CONTEXT(ctx);
9259 FLUSH_VERTICES(ctx, 0);
9260 return CALL_GetError(ctx->Exec, ());
9266 GET_CURRENT_CONTEXT(ctx);
9267 FLUSH_VERTICES(ctx, 0);
9268 CALL_GetFloatv(ctx->Exec, (pname, params));
9274 GET_CURRENT_CONTEXT(ctx);
9275 FLUSH_VERTICES(ctx, 0);
9276 CALL_GetIntegerv(ctx->Exec, (pname, params));
9282 GET_CURRENT_CONTEXT(ctx);
9283 FLUSH_VERTICES(ctx, 0);
9284 CALL_GetLightfv(ctx->Exec, (light, pname, params));
9290 GET_CURRENT_CONTEXT(ctx);
9291 FLUSH_VERTICES(ctx, 0);
9292 CALL_GetLightiv(ctx->Exec, (light, pname, params));
9298 GET_CURRENT_CONTEXT(ctx);
9299 FLUSH_VERTICES(ctx, 0);
9300 CALL_GetMapdv(ctx->Exec, (target, query, v));
9306 GET_CURRENT_CONTEXT(ctx);
9307 FLUSH_VERTICES(ctx, 0);
9308 CALL_GetMapfv(ctx->Exec, (target, query, v));
9314 GET_CURRENT_CONTEXT(ctx);
9315 FLUSH_VERTICES(ctx, 0);
9316 CALL_GetMapiv(ctx->Exec, (target, query, v));
9322 GET_CURRENT_CONTEXT(ctx);
9323 FLUSH_VERTICES(ctx, 0);
9324 CALL_GetMaterialfv(ctx->Exec, (face, pname, params));
9330 GET_CURRENT_CONTEXT(ctx);
9331 FLUSH_VERTICES(ctx, 0);
9332 CALL_GetMaterialiv(ctx->Exec, (face, pname, params));
9338 GET_CURRENT_CONTEXT(ctx);
9339 FLUSH_VERTICES(ctx, 0);
9340 CALL_GetPixelMapfv(ctx->Exec, (map, values));
9346 GET_CURRENT_CONTEXT(ctx);
9347 FLUSH_VERTICES(ctx, 0);
9348 CALL_GetPixelMapuiv(ctx->Exec, (map, values));
9354 GET_CURRENT_CONTEXT(ctx);
9355 FLUSH_VERTICES(ctx, 0);
9356 CALL_GetPixelMapusv(ctx->Exec, (map, values));
9362 GET_CURRENT_CONTEXT(ctx);
9363 FLUSH_VERTICES(ctx, 0);
9364 CALL_GetPolygonStipple(ctx->Exec, (dest));
9370 GET_CURRENT_CONTEXT(ctx);
9371 FLUSH_VERTICES(ctx, 0);
9372 return CALL_GetString(ctx->Exec, (name));
9378 GET_CURRENT_CONTEXT(ctx);
9379 FLUSH_VERTICES(ctx, 0);
9380 CALL_GetTexEnvfv(ctx->Exec, (target, pname, params));
9386 GET_CURRENT_CONTEXT(ctx);
9387 FLUSH_VERTICES(ctx, 0);
9388 CALL_GetTexEnviv(ctx->Exec, (target, pname, params));
9394 GET_CURRENT_CONTEXT(ctx);
9395 FLUSH_VERTICES(ctx, 0);
9396 CALL_GetTexGendv(ctx->Exec, (coord, pname, params));
9402 GET_CURRENT_CONTEXT(ctx);
9403 FLUSH_VERTICES(ctx, 0);
9404 CALL_GetTexGenfv(ctx->Exec, (coord, pname, params));
9410 GET_CURRENT_CONTEXT(ctx);
9411 FLUSH_VERTICES(ctx, 0);
9412 CALL_GetTexGeniv(ctx->Exec, (coord, pname, params));
9419 GET_CURRENT_CONTEXT(ctx);
9420 FLUSH_VERTICES(ctx, 0);
9421 CALL_GetTexImage(ctx->Exec, (target, level, format, type, pixels));
9428 GET_CURRENT_CONTEXT(ctx);
9429 FLUSH_VERTICES(ctx, 0);
9430 CALL_GetTexLevelParameterfv(ctx->Exec, (target, level, pname, params));
9437 GET_CURRENT_CONTEXT(ctx);
9438 FLUSH_VERTICES(ctx, 0);
9439 CALL_GetTexLevelParameteriv(ctx->Exec, (target, level, pname, params));
9445 GET_CURRENT_CONTEXT(ctx);
9446 FLUSH_VERTICES(ctx, 0);
9447 CALL_GetTexParameterfv(ctx->Exec, (target, pname, params));
9453 GET_CURRENT_CONTEXT(ctx);
9454 FLUSH_VERTICES(ctx, 0);
9455 CALL_GetTexParameteriv(ctx->Exec, (target, pname, params));
9461 GET_CURRENT_CONTEXT(ctx);
9462 FLUSH_VERTICES(ctx, 0);
9463 return CALL_IsEnabled(ctx->Exec, (cap));
9469 GET_CURRENT_CONTEXT(ctx);
9470 FLUSH_VERTICES(ctx, 0);
9471 CALL_PixelStoref(ctx->Exec, (pname, param));
9477 GET_CURRENT_CONTEXT(ctx);
9478 FLUSH_VERTICES(ctx, 0);
9479 CALL_PixelStorei(ctx->Exec, (pname, param));
9486 GET_CURRENT_CONTEXT(ctx);
9487 FLUSH_VERTICES(ctx, 0);
9488 CALL_ReadPixels(ctx->Exec, (x, y, width, height, format, type, pixels));
9494 GET_CURRENT_CONTEXT(ctx);
9495 FLUSH_VERTICES(ctx, 0);
9496 return CALL_RenderMode(ctx->Exec, (mode));
9502 GET_CURRENT_CONTEXT(ctx);
9503 FLUSH_VERTICES(ctx, 0);
9504 CALL_FeedbackBuffer(ctx->Exec, (size, type, buffer));
9510 GET_CURRENT_CONTEXT(ctx);
9511 FLUSH_VERTICES(ctx, 0);
9512 CALL_SelectBuffer(ctx->Exec, (size, buffer));
9519 GET_CURRENT_CONTEXT(ctx);
9520 FLUSH_VERTICES(ctx, 0);
9521 return CALL_AreTexturesResident(ctx->Exec, (n, texName, residences));
9527 GET_CURRENT_CONTEXT(ctx);
9528 FLUSH_VERTICES(ctx, 0);
9529 CALL_ColorPointer(ctx->Exec, (size, type, stride, ptr));
9535 GET_CURRENT_CONTEXT(ctx);
9536 FLUSH_VERTICES(ctx, 0);
9537 CALL_DeleteTextures(ctx->Exec, (n, texName));
9543 GET_CURRENT_CONTEXT(ctx);
9544 FLUSH_VERTICES(ctx, 0);
9545 CALL_DisableClientState(ctx->Exec, (cap));
9551 GET_CURRENT_CONTEXT(ctx);
9552 FLUSH_VERTICES(ctx, 0);
9553 CALL_EdgeFlagPointer(ctx->Exec, (stride, vptr));
9559 GET_CURRENT_CONTEXT(ctx);
9560 FLUSH_VERTICES(ctx, 0);
9561 CALL_EnableClientState(ctx->Exec, (cap));
9567 GET_CURRENT_CONTEXT(ctx);
9568 FLUSH_VERTICES(ctx, 0);
9569 CALL_GenTextures(ctx->Exec, (n, texName));
9575 GET_CURRENT_CONTEXT(ctx);
9576 FLUSH_VERTICES(ctx, 0);
9577 CALL_GetPointerv(ctx->Exec, (pname, params));
9583 GET_CURRENT_CONTEXT(ctx);
9584 FLUSH_VERTICES(ctx, 0);
9585 CALL_IndexPointer(ctx->Exec, (type, stride, ptr));
9591 GET_CURRENT_CONTEXT(ctx);
9592 FLUSH_VERTICES(ctx, 0);
9593 CALL_InterleavedArrays(ctx->Exec, (format, stride, pointer));
9599 GET_CURRENT_CONTEXT(ctx);
9600 FLUSH_VERTICES(ctx, 0);
9601 return CALL_IsTexture(ctx->Exec, (texture));
9607 GET_CURRENT_CONTEXT(ctx);
9608 FLUSH_VERTICES(ctx, 0);
9609 CALL_NormalPointer(ctx->Exec, (type, stride, ptr));
9615 GET_CURRENT_CONTEXT(ctx);
9616 FLUSH_VERTICES(ctx, 0);
9617 CALL_PopClientAttrib(ctx->Exec, ());
9623 GET_CURRENT_CONTEXT(ctx);
9624 FLUSH_VERTICES(ctx, 0);
9625 CALL_PushClientAttrib(ctx->Exec, (mask));
9632 GET_CURRENT_CONTEXT(ctx);
9633 FLUSH_VERTICES(ctx, 0);
9634 CALL_TexCoordPointer(ctx->Exec, (size, type, stride, ptr));
9640 GET_CURRENT_CONTEXT(ctx);
9641 FLUSH_VERTICES(ctx, 0);
9642 CALL_GetCompressedTexImageARB(ctx->Exec, (target, level, img));
9649 GET_CURRENT_CONTEXT(ctx);
9650 FLUSH_VERTICES(ctx, 0);
9651 CALL_VertexPointer(ctx->Exec, (size, type, stride, ptr));
9658 GET_CURRENT_CONTEXT(ctx);
9659 FLUSH_VERTICES(ctx, 0);
9660 CALL_CopyConvolutionFilter1D(ctx->Exec,
9668 GET_CURRENT_CONTEXT(ctx);
9669 FLUSH_VERTICES(ctx, 0);
9670 CALL_CopyConvolutionFilter2D(ctx->Exec,
9678 GET_CURRENT_CONTEXT(ctx);
9679 FLUSH_VERTICES(ctx, 0);
9680 CALL_GetColorTable(ctx->Exec, (target, format, type, data));
9686 GET_CURRENT_CONTEXT(ctx);
9687 FLUSH_VERTICES(ctx, 0);
9688 CALL_GetColorTableParameterfv(ctx->Exec, (target, pname, params));
9694 GET_CURRENT_CONTEXT(ctx);
9695 FLUSH_VERTICES(ctx, 0);
9696 CALL_GetColorTableParameteriv(ctx->Exec, (target, pname, params));
9703 GET_CURRENT_CONTEXT(ctx);
9704 FLUSH_VERTICES(ctx, 0);
9705 CALL_GetConvolutionFilter(ctx->Exec, (target, format, type, image));
9711 GET_CURRENT_CONTEXT(ctx);
9712 FLUSH_VERTICES(ctx, 0);
9713 CALL_GetConvolutionParameterfv(ctx->Exec, (target, pname, params));
9719 GET_CURRENT_CONTEXT(ctx);
9720 FLUSH_VERTICES(ctx, 0);
9721 CALL_GetConvolutionParameteriv(ctx->Exec, (target, pname, params));
9728 GET_CURRENT_CONTEXT(ctx);
9729 FLUSH_VERTICES(ctx, 0);
9730 CALL_GetHistogram(ctx->Exec, (target, reset, format, type, values));
9736 GET_CURRENT_CONTEXT(ctx);
9737 FLUSH_VERTICES(ctx, 0);
9738 CALL_GetHistogramParameterfv(ctx->Exec, (target, pname, params));
9744 GET_CURRENT_CONTEXT(ctx);
9745 FLUSH_VERTICES(ctx, 0);
9746 CALL_GetHistogramParameteriv(ctx->Exec, (target, pname, params));
9753 GET_CURRENT_CONTEXT(ctx);
9754 FLUSH_VERTICES(ctx, 0);
9755 CALL_GetMinmax(ctx->Exec, (target, reset, format, type, values));
9761 GET_CURRENT_CONTEXT(ctx);
9762 FLUSH_VERTICES(ctx, 0);
9763 CALL_GetMinmaxParameterfv(ctx->Exec, (target, pname, params));
9769 GET_CURRENT_CONTEXT(ctx);
9770 FLUSH_VERTICES(ctx, 0);
9771 CALL_GetMinmaxParameteriv(ctx->Exec, (target, pname, params));
9778 GET_CURRENT_CONTEXT(ctx);
9779 FLUSH_VERTICES(ctx, 0);
9780 CALL_GetSeparableFilter(ctx->Exec,
9789 GET_CURRENT_CONTEXT(ctx);
9790 FLUSH_VERTICES(ctx, 0);
9791 CALL_SeparableFilter2D(ctx->Exec,
9800 GET_CURRENT_CONTEXT(ctx);
9801 FLUSH_VERTICES(ctx, 0);
9802 CALL_ColorPointerEXT(ctx->Exec, (size, type, stride, count, ptr));
9808 GET_CURRENT_CONTEXT(ctx);
9809 FLUSH_VERTICES(ctx, 0);
9810 CALL_EdgeFlagPointerEXT(ctx->Exec, (stride, count, ptr));
9817 GET_CURRENT_CONTEXT(ctx);
9818 FLUSH_VERTICES(ctx, 0);
9819 CALL_IndexPointerEXT(ctx->Exec, (type, stride, count, ptr));
9826 GET_CURRENT_CONTEXT(ctx);
9827 FLUSH_VERTICES(ctx, 0);
9828 CALL_NormalPointerEXT(ctx->Exec, (type, stride, count, ptr));
9835 GET_CURRENT_CONTEXT(ctx);
9836 FLUSH_VERTICES(ctx, 0);
9837 CALL_TexCoordPointerEXT(ctx
9844 GET_CURRENT_CONTEXT(ctx);
9845 FLUSH_VERTICES(ctx, 0);
9846 CALL_VertexPointerEXT(ctx->Exec, (size, type, stride, count, ptr));
9852 GET_CURRENT_CONTEXT(ctx);
9853 FLUSH_VERTICES(ctx, 0);
9854 CALL_LockArraysEXT(ctx->Exec, (first, count));
9860 GET_CURRENT_CONTEXT(ctx);
9861 FLUSH_VERTICES(ctx, 0);
9862 CALL_UnlockArraysEXT(ctx->Exec, ());
9868 GET_CURRENT_CONTEXT(ctx);
9869 FLUSH_VERTICES(ctx, 0);
9870 CALL_ClientActiveTextureARB(ctx->Exec, (target));
9877 GET_CURRENT_CONTEXT(ctx);
9878 FLUSH_VERTICES(ctx, 0);
9879 CALL_SecondaryColorPointerEXT(ctx->Exec, (size, type, stride, ptr));
9885 GET_CURRENT_CONTEXT(ctx);
9886 FLUSH_VERTICES(ctx, 0);
9887 CALL_FogCoordPointerEXT(ctx->Exec, (type, stride, ptr));
9895 GET_CURRENT_CONTEXT(ctx);
9896 FLUSH_VERTICES(ctx, 0);
9897 CALL_MultiDrawArraysEXT(ctx->Exec, (mode, first, count, primcount));
9906 GET_CURRENT_CONTEXT(ctx);
9907 FLUSH_VERTICES(ctx, 0);
9908 CALL_MultiModeDrawArraysIBM(ctx->Exec,
9920 GET_CURRENT_CONTEXT(ctx);
9921 FLUSH_VERTICES(ctx, 0);
9922 CALL_MultiModeDrawElementsIBM(ctx->Exec,
9936 _mesa_create_save_table(const struct gl_context *ctx)
9944 _mesa_loopback_init_api_table(ctx, table);
10483 _mesa_init_shader_dispatch(ctx, table); /* Plug in glCreate/Delete/Get, etc */
10682 print_list(struct gl_context *ctx, GLuint list)
10688 if (!islist(ctx, list)) {
10693 dlist = lookup_list(ctx, list);
10706 n += ext_opcode_print(ctx, n);
10722 ctx->List.ListBase, ctx->List.ListBase + n[1].ui);
10949 GET_CURRENT_CONTEXT(ctx);
10950 print_list(ctx, list);
11086 _mesa_init_display_list(struct gl_context *ctx)
11097 ctx->ListExt = CALLOC_STRUCT(gl_list_extensions);
11100 ctx->ListState.CallDepth = 0;
11101 ctx->ExecuteFlag = GL_TRUE;
11102 ctx->CompileFlag = GL_FALSE;
11103 ctx->ListState.CurrentBlock = NULL;
11104 ctx->ListState.CurrentPos = 0;
11107 ctx->List.ListBase = 0;
11110 _mesa_save_vtxfmt_init(&ctx->ListState.ListVtxfmt);
11116 _mesa_free_display_list_data(struct gl_context *ctx)
11118 free(ctx->ListExt);
11119 ctx->ListExt = NULL;