summaryrefslogtreecommitdiffstats
path: root/src/mesa/main
Commit message (Collapse)AuthorAgeFilesLines
* mesa: Remove GL_APPLE_vertex_array_object stubsIan Romanick2017-05-233-22/+0
| | | | | | | | | | | | | | | | | | Mark the functions 'exec="skip"' in the XML instead. libGL will still have the functions, but the driver won't try to use them. I verified that this commit works with piglit's 'object-namespace-pollution glClear vertex-array' on x64 with a driver built from mesa-12.0.3 tag. In fairness, this test also works with a libGL built from 7927d03. I believe it continues to work because on non-Windows platforms we generate some extra, dummy dispatch functions that can be used when a driver requests a function unknown to libGL. This was done to provide some "forward" compatibility with drivers that need more functions. This doesn't work on Windows because the Windows calling convention is for the callee to clean up the stack. That's the theory anyway. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: GL_ARB_shader_subroutine is not optional in core profileIan Romanick2017-05-226-46/+3
| | | | | | | | | | | text data bss dec hex filename 7038459 235248 37280 7310987 6f8e8b 32-bit i965_dri.so before 7038227 235248 37280 7310755 6f8da3 32-bit i965_dri.so after 6681438 303400 50608 7035446 6b5a36 64-bit i965_dri.so before 6681254 303400 50608 7035262 6b597e 64-bit i965_dri.so after Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]>
* mesa: add APPLE_vertex_array_object stubsTimothy Arceri2017-05-223-0/+22
| | | | | | | | | | | APPLE_vertex_array_object support was removed in 7927d0378fc7. However it turns out we can't remove the functions because this can cause issues when libglapi is used together with DRI drivers built prior to said commit Fixes: 7927d0378fc ("mesa: drop APPLE_vertex_array_object support") Reviewed-by: Emil Velikov <[email protected]>
* main: Move hashLockMutex/hashUnlockMutex to header and inlineThomas Helland2017-05-222-45/+40
| | | | Reviewed-by: Timothy Arceri <[email protected]>
* main: Use _mesa_HashLock/UnlockMutex consistentlyThomas Helland2017-05-221-13/+10
| | | | | | | | | This is shorter and easier on the eyes. At the same time this also ensures that we are always asserting that the table pointer is not NULL. Currently that was not done for all situations. Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* driconf: Add allow_glsl_builtin_variable_redeclaration optionJohn Brooks2017-05-201-0/+5
| | | | | | | | | | | | | | | This option will allow GLSL builtins to be redeclared verbatim (e.g. redeclaring "in int gl_VertexID" in a vertex shader). This is not strictly valid and would normally fail to compile, but some applications (such as newer Techland ports) do it and need more leniency. v2 (Samuel Pitoiset): - Rename allow_glsl_builtin_redeclaration -> allow_glsl_builtin_variable_redeclaration Signed-off-by: John Brooks <[email protected]> Reviewed-by: Edward O'Callaghan <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]>
* st/mesa: don't mark the program as in cache_fallback when there is cache missTimothy Arceri2017-05-201-0/+7
| | | | | | | | | | | | | | | | | | When we fallback currently the gl_program objects are re-allocated. This is likely to change when the i965 cache lands, but for now this fixes a crash when using MESA_GLSL=cache_fb. This env var simulates the fallback path taken when a tgsi cache item doesn't exist due to being evicted previously or some kind of error. Unlike i965 we are always falling back at link time so it's safe to just re-allocate everything. We will be unnecessarily freeing and re-allocate a bunch of things here but it's probably not a huge deal, and can be changed when the i965 code lands. Fixes: 0e9991f957e2 ("glsl: don't reference shader prog data during cache fallback") Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add an env var to force cache fallbackTimothy Arceri2017-05-202-0/+3
| | | | | | | | | | | | | | | | | For the gallium state tracker a tgsi binary may have been evicted from the cache to make space. In this case we would take the fallback path and recompile/link the shader. On i965 there are a number of reasons we can get to the program upload stage and have neither IR nor a valid cached binary. For example the binary may have been evicted from the cache or we need a variant that wasn't previously cached. This environment variable enables us to force the fallback path that would be taken in these cases and makes it easier to debug these otherwise hard to reproduce scenarios. Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: don't check mapped buffers in every draw call if drivers allow itMarek Olšák2017-05-171-1/+14
| | | | | | | | | Before: DrawElements (16 VBOs) w/ no state change: 4.34 million/s After: DrawElements (16 VBOs) w/ no state change: 8.80 million/s This inefficiency was uncovered by Timothy Arceri's no_error work. Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add gl_constants::AllowMappedBuffersDuringExecutionMarek Olšák2017-05-171-0/+3
| | | | | | for skipping mapped-buffer checking in every GL draw call Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for glDispatchCompute*()Timothy Arceri2017-05-172-0/+38
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add DispatchCompute* helpersTimothy Arceri2017-05-171-13/+38
| | | | | | These will be used to add KHR_no_error support. Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: move FLUSH_CURRENT() calls out of DispatchCompute*() validationTimothy Arceri2017-05-171-6/+6
| | | | | | This is required to add KHR_no_error support. Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: compute.c C99 tidy upTimothy Arceri2017-05-171-4/+2
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: move DispatchCompute() validation to compute.cTimothy Arceri2017-05-173-252/+229
| | | | | | | This is the only place it is used so there is no reason for it to be in api_validate.c Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for glBlendEquationSeparateiARB()Timothy Arceri2017-05-172-0/+12
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add blend_equation_separatei() helperTimothy Arceri2017-05-171-9/+17
| | | | | | Will be used to add KHR_no_error support. Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for glBlendFunc*iARB()Timothy Arceri2017-05-172-0/+24
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add blend_func_separatei() helperTimothy Arceri2017-05-171-17/+28
| | | | | | This will be used to add KHR_no_error support. Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for glBufferSubData()Timothy Arceri2017-05-172-3/+20
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for glNamedBufferSubData()Timothy Arceri2017-05-172-7/+23
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add buffer_sub_data() helperTimothy Arceri2017-05-171-17/+24
| | | | | | | This will allow us to share code between the dsa, non-dsa and no_error variants. Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: create validate_buffer_sub_data() helperTimothy Arceri2017-05-172-30/+40
| | | | | | | This change assumes meta will always pass valid arguments to _mesa_buffer_sub_data(). Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for glBufferStorage()Timothy Arceri2017-05-172-3/+20
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for glNamedBufferStorage()Timothy Arceri2017-05-172-7/+27
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add inlined_buffer_storage() helperTimothy Arceri2017-05-171-20/+27
| | | | | | | This will allow us to share code between the dsa, non-dsa and no_error variants. Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add validate_buffer_storage() helperTimothy Arceri2017-05-171-15/+27
| | | | | | This will allow use to add KHR_no_error support. Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for glCompressedTex*SubImage3D()Timothy Arceri2017-05-172-1/+41
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add 3D support to compressed_tex_sub_image() helperTimothy Arceri2017-05-171-119/+66
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for glCompressedTex*SubImage2D()Timothy Arceri2017-05-172-0/+39
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add 2D support to compressed_tex_sub_image() helperTimothy Arceri2017-05-171-67/+16
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for CompressedTex*SubImage1D()Timothy Arceri2017-05-172-9/+51
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add compressed_tex_sub_image() helperTimothy Arceri2017-05-171-44/+38
| | | | | | | | This reduces duplication between the dsa and non-dsa function and will also be used in the following commit to add KHR_no_error support. Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: make _mesa_compressed_texture_sub_image() staticTimothy Arceri2017-05-172-51/+30
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for NamedFramebufferTextureTimothy Arceri2017-05-172-0/+11
| | | | | | V3: use frame_buffer_texture() helper Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for FramebufferTextureTimothy Arceri2017-05-172-0/+12
| | | | | | V3: use the frame_buffer_texture() helper Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add *FramebufferTexture() support to frame_buffer_texture helperTimothy Arceri2017-05-171-100/+41
| | | | | | V2: call check_layered_texture_target() even for no_error Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for NamedFramebufferTextureLayerTimothy Arceri2017-05-172-0/+17
| | | | | | v3: use frame_buffer_texture_layer() helper Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for FramebufferTextureLayerTimothy Arceri2017-05-172-0/+13
| | | | | | V3: use frame_buffer_texture_layer() helper Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add no error support to frame_buffer_texture_layer() helperTimothy Arceri2017-05-171-27/+43
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add frame_buffer_texture_layer() helperTimothy Arceri2017-05-171-54/+31
| | | | | | | To be used to add KHR_no_error support while sharing code between the DSA and non-DSA OpenGL function. Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add KHR_no_error support for glUseProgramTimothy Arceri2017-05-172-20/+47
| | | | | | V3: use always_inline attribute (Suggested by Nicolai) Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: move use_program() inside _mesa_use_program()Timothy Arceri2017-05-171-29/+21
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: unify _mesa_uniform() for image uniformsSamuel Pitoiset2017-05-161-6/+8
| | | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Elie Tournier <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: fix indentation in _mesa_uniform()Samuel Pitoiset2017-05-161-18/+19
| | | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Elie Tournier <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: replace _mesa_problem() with unreachable() in pack.cTimothy Arceri2017-05-161-6/+4
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: replace _mesa_problem() with unreachable() in mipmap.cTimothy Arceri2017-05-161-4/+3
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: replace _mesa_problem() with unreachable() in _mesa_convert_colors()Timothy Arceri2017-05-161-1/+1
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: replace _mesa_problem() with unreachable() in _mesa_light()Timothy Arceri2017-05-161-2/+1
| | | | | | All drivers but the old nouveau dri driver return after this anyway. Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: replace _mesa_problem() with assert() in hash tableTimothy Arceri2017-05-161-6/+4
| | | | | | | There should be no way the OpenGL test suites don't hit the assert() should we do something to cause this code path to be taken. Reviewed-by: Samuel Pitoiset <[email protected]>