summaryrefslogtreecommitdiffstats
path: root/src/mesa
Commit message (Collapse)AuthorAgeFilesLines
* mesa: Require mipmap completeness for glCopyImageSubData() at times.Kenneth Graunke2017-06-281-2/+57
| | | | | | | | | | | | | | | | | | | | | | | | This patch makes glCopyImageSubData require mipmap completeness when the texture object's built-in sampler object has a mipmapping MinFilter. This is apparently the de facto behavior and mandated by Android's CTS. One exception is that we ignore format based completeness rules (specifically integer formats with linear filtering), as this is also the de facto behavior that until recently was mandated by the OpenGL 4.5 CTS. This was discussed with both the OpenGL and OpenGL ES working groups, and while everyone agrees this behavior is unfortunate and complicated, it is what it is at this point. There was little appetite for relaxing restrictions given that all conformant Android drivers followed the mipmapping rule, and all conformant GL 4.5 implementations ignored the integer/linear rule. Fixes (on i965): dEQP-GLES31.functional.debug.negative_coverage.*.buffer.copy_image_sub_data Bugzilla: https://cvs.khronos.org/bugzilla/show_bug.cgi?id=16224 Reviewed-by: Roland Scheidegger <[email protected]>
* mesa: tidy up white space in pixelstore.cTimothy Arceri2017-06-291-6/+6
|
* mesa: Refactor error checking for GL_TEXTURE_BASE_LEVEL vs texture targetsIan Romanick2017-06-281-7/+19
| | | | | | | | | | Add a big spec quotation justifying the error generated, which has changed over the GL versions. v2: Compact the spec quote based on a Khronos bug and discussion with Jason. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* i965: Drop index buffer re-alignment code.Kenneth Graunke2017-06-281-30/+8
| | | | | | | | | | | | | | | | This shouldn't ever happen - GL requires it to be aligned: "Clients must align data elements consistent with the requirements of the client platform, with an additional base-level requirement that an offset within a buffer to a datum comprising N basic machine units be a multiple of N." Mesa should reject unaligned index buffers for us - we shouldn't have to handle them in the driver. Note that Gallium already makes this assumption. Reviewed-by: Ian Romanick <[email protected]>
* mesa: add KHR_no_error support for glBlendFunc*()Timothy Arceri2017-06-292-0/+30
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: create some glBlendFunc*() helper functionsTimothy Arceri2017-06-291-50/+81
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: add KHR_no_error support for glBindFragDataLocation*()Timothy Arceri2017-06-292-0/+38
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: add bind_frag_data_location() helperTimothy Arceri2017-06-291-11/+19
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: add KHR_no_error support for glGetUniformLocation()Timothy Arceri2017-06-292-0/+13
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: inline _mesa_finish()Timothy Arceri2017-06-292-19/+8
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: add KHR_no_error support for glDisableVertexA*A*()Timothy Arceri2017-06-292-0/+23
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: move error handling into disable_vertex_array_attrib() callersTimothy Arceri2017-06-291-10/+14
| | | | | | | This will let us just call disable_vertex_array_attrib() for KHR_no_error support. Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: add KHR_no_error support for glEnableVertexA*A*()Timothy Arceri2017-06-292-0/+25
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: add KHR_no_error support for glLogicOp()Timothy Arceri2017-06-292-0/+12
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: add logic_op() helperTimothy Arceri2017-06-291-9/+16
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: add KHR_no_error support for glPixelStore*()Timothy Arceri2017-06-292-0/+21
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: add pixel_storei() helperTimothy Arceri2017-06-291-46/+57
| | | | | | Will be used to add KHR_no_error support. Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: remove redundant error checkTimothy Arceri2017-06-291-4/+0
| | | | | | | We do the same check in the shared code in the set_tex_parameterf() call. Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: GL_TEXTURE_BORDER_COLOR exists in OpenGL 1.0, so don't depend on ↵Ian Romanick2017-06-281-1/+9
| | | | | | | | | | | | | | | | | | | | | GL_ARB_texture_border_clamp On NV20 (and probably also on earlier NV GPUs that lack GL_ARB_texture_border_clamp) fixes the following piglit tests: gl-1.0-beginend-coverage gltexparameter[if]{v,} push-pop-texture-state texwrap 1d texwrap 1d proj texwrap 2d proj texwrap formats All told, 49 more tests pass on NV20 (10de:0201). No changes on Intel CI run or RV250 (1002:4c66). Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]>
* mesa: Fix Android buildChad Versace2017-06-281-1/+1
| | | | | | | | The format_fallback.py script wants two arguments: 'csv-file' and 'out-file'. Fixes: 20c99eaece "mesa: Add _mesa_format_fallback_rgbx_to_rgba() [v2]" Reported-by: Rob Herring <[email protected]>
* i965: Fix anisotropic filtering for mag filterEero Tamminen2017-06-281-1/+1
| | | | | | | | | | | | | | Commit f8d69beed49c64f883bb8ffb28d4960306baf575 moving sampler handling to genxml messed up change done by commit 6a7c5257cac23cd9767aa4bc8fdab68925b11157. This broke rendering in SynMark CSDof and TexFilterAniso tests. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101607 Thanks to Kevin, who spotted the actual typo! Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* i965/dri: Support R8G8B8A8 and R8G8B8X8 configsChad Versace2017-06-282-3/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Android framework requires support for EGLConfigs with HAL_PIXEL_FORMAT_RGBX_8888 and HAL_PIXEL_FORMAT_RGBA_8888. Even though all RGBX formats are disabled on gen9 by brw_surface_formats.c, the new configs work correctly on Broxton thanks to _mesa_format_fallback_rgbx_to_rgba(). On GLX, this creates no new configs, and therefore breaks no existing apps. See in-patch comments for explanation. I tested with glxinfo and glxgears on Skylake. On Wayland, this also creates no new configs, and therfore breaks no existing apps. (I tested with mesa-demos' eglinfo and es2gears_wayland on Skylake). The reason differs from GLX, though. In dri2_wl_add_configs_for_visual(), the format table contains only B8G8R8X8, B8G8R8A8, and B5G6B5; and dri2_add_config() correctly matches EGLConfig to format by inspecting channel masks. On Android, in Chrome OS, I tested this on a Broxton device. I confirmed that the Google Play Store's EGLSurface used HAL_PIXEL_FORMAT_RGBA_8888, and that an Asteroid game's EGLSurface used HAL_PIXEL_FORMAT_RGBX_8888. Both apps worked well. (Disclaimer: I didn't test this patch on Android with Mesa master. I backported this patch series to an older Android branch). Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* mesa: do not use format string as literal stringJuan A. Suarez Romero2017-06-281-2/+2
| | | | | | | | | | | | | | | | This fixes a couple of errors when building in Android: external/mesa3d/src/mesa/main/shaderapi.c:293:49: error: format string is not a string literal (potentially insecure) [-Werror,-Wformat-security] _mesa_error(ctx, GL_INVALID_OPERATION, caller); ^~~~~~ external/mesa3d/src/mesa/main/shaderapi.c:293:49: note: treat the string as an argument to avoid this _mesa_error(ctx, GL_INVALID_OPERATION, caller); ^ Reviewed-by: Samuel Pitoiset <[email protected]> Signed-off-by: Juan A. Suarez Romero <[email protected]>
* scons: add code to generate format_fallback.c fileBrian Paul2017-06-281-0/+7
| | | | | | | | Fixes: a1983223d8839a0c9 "mesa: Add _mesa_format_fallback_rgbx_to_rgba() [v2]" Reviewed-by: Roland Scheidegger <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* mesa: add KHR_no_error support for glClear()Samuel Pitoiset2017-06-282-0/+10
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add clear() helperSamuel Pitoiset2017-06-281-23/+31
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add KHR_no_error support for glBindAttribLocation()Samuel Pitoiset2017-06-282-0/+14
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add bind_attrib_location() helperSamuel Pitoiset2017-06-281-19/+29
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add KHR_no_error support for gl*ReadBuffer()Samuel Pitoiset2017-06-282-0/+38
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: create read_buffer_err() and always inline read_buffer()Samuel Pitoiset2017-06-281-18/+31
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add KHR_no_error support for glVertex*AttribBinding()Samuel Pitoiset2017-06-282-0/+30
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add KHR_no_error support for glShaderStorageBlockBinding()Samuel Pitoiset2017-06-282-0/+18
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add shader_storage_block_binding() helperSamuel Pitoiset2017-06-281-9/+19
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add KHR_no_error support for glUniformBlockBinding()Samuel Pitoiset2017-06-282-0/+15
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add uniform_block_binding() helperSamuel Pitoiset2017-06-281-9/+16
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add KHR_no_error support for glFenceSync()Samuel Pitoiset2017-06-282-0/+11
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add fence_sync() helperSamuel Pitoiset2017-06-281-17/+25
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add KHR_no_error support for glClientWaitSync()Samuel Pitoiset2017-06-282-0/+13
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add client_wait_sync() helperSamuel Pitoiset2017-06-281-16/+26
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add KHR_no_error support for glCheckFramebufferStatus()Samuel Pitoiset2017-06-282-0/+13
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add KHR_no_error support for gl*Renderbuffers()Samuel Pitoiset2017-06-282-0/+22
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: prepare create_render_buffers() for KHR_no_error supportSamuel Pitoiset2017-06-281-7/+17
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add KHR_no_error support for gl*ProgramPipelines()Samuel Pitoiset2017-06-282-0/+20
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: prepare create_program_pipelines() for KHR_no_error supportSamuel Pitoiset2017-06-281-12/+17
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add KHR_no_error support for gl*Samplers()Samuel Pitoiset2017-06-282-0/+21
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: prepare create_samplers() helper for KHR_no_error supportSamuel Pitoiset2017-06-281-12/+19
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add KHR_no_error support for gl*Textures()Samuel Pitoiset2017-06-282-0/+22
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: prepare create_textures() helper for KHR_no_error supportSamuel Pitoiset2017-06-281-10/+18
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: fix an error message in create_textures()Samuel Pitoiset2017-06-281-1/+1
| | | | | | | Trivial. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add KHR_no_error support for gl*Buffers()Samuel Pitoiset2017-06-282-0/+22
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>