aboutsummaryrefslogtreecommitdiffstats
path: root/src/mapi/glapi
Commit message (Collapse)AuthorAgeFilesLines
* Move compiler.h and imports.h/c from src/mesa/main into src/utilMarek Olšák2020-03-273-2/+4
| | | | | Reviewed-by: Timothy Arceri <[email protected] Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4324>
* glthread: compile marshal_generated.c faster by breaking it up into 8 filesMarek Olšák2020-03-242-13/+32
| | | | | | Reviewed-by: Alyssa Rosenzweig <[email protected] Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4270> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4270>
* glthread: declare marshal and unmarshal functions as non-staticMarek Olšák2020-03-242-7/+11
| | | | | | | | Declare them in the header file. Then we can split marshal_generated.c into multiple files. Reviewed-by: Alyssa Rosenzweig <[email protected] Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4270>
* glthread: inline SET_func and add -O1 to build _mesa_create_marshal_table fasterMarek Olšák2020-03-241-1/+9
| | | | | | | The compile time of marshal_generated.c improved from 30.1s to 12.4s. Reviewed-by: Eric Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4270>
* glthread: remove the marshal_fail XML attributeMarek Olšák2020-03-203-14/+0
| | | | | | Reviewed-by: Timothy Arceri <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4124> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4124>
* glthread: ignore vertex arrays with user pointers if they're disabledMarek Olšák2020-03-205-19/+19
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4124>
* glthread: track which vertex array attribs are enabledMarek Olšák2020-03-203-13/+26
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4124>
* glthread: rename non_vbo helper functionsMarek Olšák2020-03-206-23/+23
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4124>
* glthread: handle buffer unbinding via glDeleteBuffersMarek Olšák2020-03-201-1/+2
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4124>
* glthread: rename marshal.h/c to glthread_marshal.h and glthread_shaderobj.cMarek Olšák2020-03-201-3/+1
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4124>
* glthread: autogenerate prototypes for custom-marshalled functionsMarek Olšák2020-03-201-0/+9
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4124>
* glthread: simplify printing safe_mul in gl_marshal.pyMarek Olšák2020-03-201-8/+8
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4124>
* glthread: don't declare unmarshal functions as inlineMarek Olšák2020-03-201-1/+1
| | | | | | | | They are never inlined. Reviewed-by: Timothy Arceri <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4251> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4251>
* glthread: remove debug_print_marshal functionMarek Olšák2020-03-201-2/+0
| | | | | | | We don't need to print every function we execute. Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4251>
* glthread: don't execute any custom VAO and BindBuffer code in the Core profileMarek Olšák2020-03-208-24/+26
| | | | | | | It's not needed, because user pointers can never occur there. Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4251>
* glthread: track VAOs created by CreateVertexArraysMarek Olšák2020-03-201-1/+2
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4251>
* glthread: enable display listsMarek Olšák2020-03-201-1/+1
| | | | | | | They seem to work fine. Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4251>
* mesa: remove redundant api_loopback functionsMarek Olšák2020-03-192-10/+10
| | | | | | | | | vbo_attrib_tmp.h implements them, so this loopback code isn't needed and shouldn't be used. Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4123> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4123>
* glthread: fall back if a param size is non-zero and a pointer param is NULLMarek Olšák2020-03-061-0/+1
| | | | | | | | So that we don't crash. This is a GL error anyway. Reviewed-by: Timothy Arceri <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
* glthread: add custom marshalling for glNamedBuffer(Sub)DataEXTMarek Olšák2020-03-061-2/+2
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
* glthread: replace custom glBindBuffer marshalling with generated oneMarek Olšák2020-03-061-1/+2
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
* glthread: sync instead of disabling glthread for non-VBO pointersMarek Olšák2020-03-069-22/+34
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
* glthread: track for each VAO whether the user has set a user pointerMarek Olšák2020-03-069-29/+38
| | | | | | | | | | | | This commit mainly adds basic infrastructure for tracking vertex array state. If glthread gets a non-VBO pointer, this commit delays disabling glthread until glDraw is called. The next will change that to "sync" instead of "disable". Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
* glthread: add marshal_call_after and remove custom glFlush and glEnable codeMarek Olšák2020-03-064-11/+15
| | | | | | | | Instead of implementing marshalling manually, this XML property allows us to insert additional code into code-generated functions. Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
* glthread: don't insert an empty line after (void) cmd;Marek Olšák2020-03-061-1/+1
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
* glthread: add support for glMemoryObjectParameteriv, glSemaphoreParameterui64vMarek Olšák2020-03-061-2/+2
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
* glthread: add support for glCallLists, glPatchParameterfvMarek Olšák2020-03-062-2/+3
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
* glthread: add support for glClearNamedFramebuffer, glMaterial, glPointParameterMarek Olšák2020-03-063-9/+15
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
* glthread: add support for glFog, glLight, glLightModel, glTexEnv, glTexGenMarek Olšák2020-03-064-21/+37
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
* glthread: add support for TexParameteri and SamplerParameteri functionsMarek Olšák2020-03-0611-33/+42
| | | | | | | | | | It's straightfoward except that I had to hack the python scripts to add "marshal_count", which behaves just like "count" except that "variable_param" is ignored. ("variable_param" changes the behavior of "count", which I don't want) Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
* glthread: replace custom ClearBuffer marshalling with generated oneMarek Olšák2020-03-061-7/+7
| | | | | | | If the count attribute contains "enum", the count is evaluated only once. Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
* glthread: check the size of all variable params and clean up the codeMarek Olšák2020-03-061-25/+16
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
* glthread: handle complex pointer parameters and support GL functions with ↵Marek Olšák2020-03-065-18/+17
| | | | | | | | | | strings The python changes add a local variable that computes the parameter size only once. Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
* glthread: add/update count and marshal fields for many GL functionsMarek Olšák2020-03-0624-132/+141
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
* glthread: add GL_DRAW_INDIRECT_BUFFER tracking and generator supportMarek Olšák2020-03-061-1/+3
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
* glthread: don't increment variable_data if it's the last variable-size paramMarek Olšák2020-03-061-8/+15
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
* glthread: don't insert _mesa_post_marshal_hook into every functionMarek Olšák2020-03-061-1/+3
| | | | | | | Let the developer decide that in the python script. Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
* glthread: simplify repeated function sequences in marshal_generated.cMarek Olšák2020-03-061-6/+3
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
* glthread: use int instead of size_t where it's OKMarek Olšák2020-03-061-1/+1
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
* glthread: inline _mesa_unmarshal_dispatch_cmd and convert the switch to a tableMarek Olšák2020-03-062-21/+4
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
* glthread: don't prefix variable_data with constMarek Olšák2020-03-061-2/+2
| | | | | | | | Not all variable data that is constant is declared with const, such as glDeletePerfMonitorsAMD. Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
* glthread: don't generate the sync fallback if the call size is not variableMarek Olšák2020-03-061-11/+15
| | | | | | | marshal_generated.c is 12% smaller. Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
* glapi/copyimage: Implement CopyImageSubDataNVIndrajit Kumar Das2020-02-244-0/+31
| | | | | | | | | | | Implement CopyImageSubDataNV from NV_copy_image spec. This is derived out of the existing implementation of CopyImageSubData. It differs from CopyImageSubData in accordance with the differences laid down in the ARB_copy_image spec. Reviewed-by: Marek Olšák <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3649> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3649>
* glapi / teximage: implement EGLImageTargetTexStorageEXTGurchetan Singh2020-01-133-0/+25
| | | | | | | Check various parts of the EXT_EGL_image_storage spec, and add a new vfunc for drivers implementing it. Reviewed-by: Tapani Pälli <[email protected]>
* mapi: add GetInteger64vEXT with EXT_disjoint_timer_queryTapani Pälli2019-11-262-0/+13
| | | | | | | | | | | | | From EXT_disjoint_timer_query spec: "Interaction: This extension adds GetInteger64vEXT if OpenGL ES 3.0 is not supported" See https://github.com/KhronosGroup/OpenGL-Registry/issues/326. Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2090 Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* mesa/glthread: Implement ARB_multi_bind.Markus Wick2019-11-221-10/+10
| | | | | Signed-off-by: Markus Wick <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* mapi/glapi: Generate sizeof() helpers instead of fixed sizes.Markus Wick2019-11-211-4/+11
| | | | | | | | | Generating a source code with a fixed size leads to issues with plattform dependent types. We either hard code 4 or 8 bytes there, and both are wrong on the other plattform. So this patch solves this issue by generating eg sizeof(GLsizeiptr), which is valid both on 32 and on 64 bit plattforms. Signed-off-by: Marek Olšák <[email protected]>
* mesa: add ARB_shading_language_include stubsTimothy Arceri2019-11-203-1/+50
| | | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Reviewed-by: Witold Baryluk <[email protected]>
* mesa: add ARB_sparse_buffer NamedBufferPageCommitmentEXT functionPierre-Eric Pelloux-Prayer2019-11-192-3/+10
| | | | | | | The spec is unclear on how to handle the buffer argument so we reuse the logic from the EXT_direct_state_access spec. Reviewed-by: Marek Olšák <[email protected]>
* mesa: add ARB_vertex_attrib_binding glVertexArray* functionsPierre-Eric Pelloux-Prayer2019-11-192-0/+51
| | | | | | | We can't simply alias ARB_direct_state_access functions because those fail if the vao has never been bound before. Reviewed-by: Marek Olšák <[email protected]>