summaryrefslogtreecommitdiffstats
path: root/src/mesa/main
Commit message (Collapse)AuthorAgeFilesLines
* mesa: restrict formats being supported by target type for formatqueryRoland Scheidegger2018-01-301-10/+21
| | | | | | | | | | | | | | | | | | | The code just considered all formats as being supported if they were either a valid fbo or texture format. This was quite awkward since then the query would return "supported" for e.g. GL_RGB9E5 or compressed formats and target RENDERBUFFER (albeit the driver could still refuse it in theory). However, when then querying for instance the internalformat sizes, it would just return 0 (due to the checks being more strict there). It was also a problem for texture buffer targets, which have a more restricted list of formats which are allowed (and again, it would return supported but then querying sizes would return 0). So only take validation of formats into account which make sense for a given target. Can also toss out some special checks for rgb9e5 later, since we'd never get there if it wasn't supported in the first place. Reviewed-by: Alejandro Piñeiro <[email protected]>
* mesa: (trivial) add TODO comment for default results for internal queriesRoland Scheidegger2018-01-301-0/+6
|
* mesa: remove misleading gles checks for formatqueryRoland Scheidegger2018-01-301-3/+1
| | | | | | | | | Testing for gles there is just confusing - this is about target being supported, if it was valid at all was already determined earlier (in _legal_parameters). It didn't make sense at all in any case, since it would only have said false there for gles for 2d but not 2d arrays etc. Reviewed-by: Alejandro Piñeiro <[email protected]>
* mesa/vbo: replace vbo_draw_method() with _mesa_set_drawing_arrays()Brian Paul2018-01-294-33/+28
| | | | | | | | | | | | | | | | | The arrays specified by ctx->Array._DrawArrays are used for all vertex drawing via vbo_context::draw_prims(). Different arrays are used for immediate mode, vertex arrays, display lists, etc. Changing from one to another requires updating derived/driver array state. Before, we indirectly specifid the arrays with the gl_draw_method values. Now we just directly specify the arrays instead. This is simpler and will allow a subsequent display list optimization. In the future, it might make sense to get rid of ctx->Array._DrawArrays entirely and just pass the arrays as another parameter to vbo_context::draw_prims(). Reviewed-by: Mathias Fröhlich <[email protected]>
* mesa: remove MESA_FUNCTIONBrian Paul2018-01-262-4/+2
| | | | | | Just use __func__ in the two macros where it was used. Reviewed-by: Neha Bhende <[email protected]>
* mesa: change gl_link_status enums to uppercaseBrian Paul2018-01-265-14/+14
| | | | | | follow the convention of other enums. Reviewed-by: Neha Bhende <[email protected]>
* mesa: change gl_compile_status enums to uppercaseBrian Paul2018-01-264-8/+8
| | | | | | To follow the convention of other enums. Reviewed-by: Neha Bhende <[email protected]>
* mesa: minor comment reformatting, whitespace fixes in mtypes.hBrian Paul2018-01-261-43/+54
| | | | Trivial.
* mesa: silence MinGW 'may be unused uninitialized' warning in get.cBrian Paul2018-01-261-1/+1
| | | | | | | | The warning happens on line 2114 for the memcpy(data, p, size) call. I'm not sure why that generates the warning but not the earlier use of p in the code. Reviewed-by: Neha Bhende <[email protected]>
* mesa: Pass the translated color logic op dd_function_table::LogicOpcodeIan Romanick2018-01-262-2/+2
| | | | | | | | | | | And delete the resulting dead code. This has only been compile-tested. v2: sed --in-place -e 's/color_logic_ops/gl_logicop_mode/g' $(grep -lr color_logic_ops src/) suggested by Brian. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: Also track a remapped version of the color logic opIan Romanick2018-01-262-0/+58
| | | | | | | | | | | | | | | | | With the exception of NVIDIA hardware, these are is the values that all hardware and Gallium want. The remapping is currently implemented in at least 6 places. This starts the process of consolidating to a single place. v2: sed --in-place -e 's/color_logic_ops/gl_logicop_mode/g' $(grep -lr color_logic_ops src/) suggested by Brian. Added some comments about the selection of bit patterns for gl_logicop_mode and the GLenums. Suggested by Nicolai. Folded the GLenum_to_color_logicop macro into its only users. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]> [v1] Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: whitespace fixes in attrib.cBrian Paul2018-01-251-78/+77
| | | | Trivial.
* mesa: whitespace fixes in varray.hBrian Paul2018-01-251-26/+29
| | | | Reviewed-by: Charmaine Lee <[email protected]>
* mesa: include mtypes.h in varray.hBrian Paul2018-01-251-3/+1
| | | | | | | We actually use some of the types from mtypes.h so include it directly instead of relying on indirectly including it via bufferobj.h Reviewed-by: Charmaine Lee <[email protected]>
* mesa: s/gl_vertex_attrib_array/gl_array_attributes/ in commentsBrian Paul2018-01-253-3/+3
| | | | | | | The structure type was renamed some time ago, but some comments were not updated. Reviewed-by: Charmaine Lee <[email protected]>
* mesa: simplify _mesa_delete_list() a bit, add some assertionsBrian Paul2018-01-251-28/+11
| | | | | | | | | All but two cases of the switch did the same n += InstSize[n[0].opcode] instruction. Just move it after the switch. Add some sanity check assertions. Reviewed-by: Roland Scheidegger <[email protected]>
* mesa: add missing RGB9_E5 format in _mesa_base_fbo_formatJuan A. Suarez Romero2018-01-251-0/+3
| | | | | | This fixes KHR-GL45.internalformat.renderbuffer.rgb9_e5. Reviewed-by: Kenneth Graunke <[email protected]>
* vbo: remove vbo_context.h and change includes to use vbo.h insteadBrian Paul2018-01-242-2/+2
| | | | | | Now vbo.h is the public interface to the VBO module. Reviewed-by: Roland Scheidegger <[email protected]>
* mesa: use new _vbo_install_exec_vtxfmt() functionBrian Paul2018-01-241-2/+1
| | | | | | Instead of reaching into the vbo_context object in vtxfmt.c Reviewed-by: Roland Scheidegger <[email protected]>
* mesa: move vbo_count_tessellated_primitives() to api_validate.cBrian Paul2018-01-241-3/+65
| | | | | | It's only used in this file and has nothing VBO-specific about it. Reviewed-by: Roland Scheidegger <[email protected]>
* mesa: update comment on gl_display_listBrian Paul2018-01-241-3/+1
| | | | Reviewed-by: Roland Scheidegger <[email protected]>
* mesa: whitespace clean-ups in mtypes.hBrian Paul2018-01-241-68/+82
| | | | Reviewed-by: Roland Scheidegger <[email protected]>
* mesa: remove unused MAT_INDEX_AMBIENT/DIFFUSE/SPECULAR contantsBrian Paul2018-01-241-4/+0
| | | | Reviewed-by: Roland Scheidegger <[email protected]>
* vbo: move DLIST_DANGLING_REFS from mtypes.h to vbo_save_api.cBrian Paul2018-01-241-9/+0
| | | | | | It's only used in this file. Reviewed-by: Roland Scheidegger <[email protected]>
* mesa: Only require independent blending for GLES 3.2.Eric Anholt2018-01-211-1/+1
| | | | | | | | | We've been requiring this since GLES 3.0 was introduced, but the GLES 3.2 spec is the one that has "Supporting blending on a per-draw-buffer basis" in the new features. V3D 3.3 would require lowering blending to shader code to implement independent blending. Reviewed-by: Tapani Pälli <[email protected]>
* autotools: include meson build files in tarballDylan Baker2018-01-191-0/+2
| | | | | | | | | | | | This adds the meson.build, meson_options.txt, and a few scripts that are used exclusively by the meson build. v2: - Remove accidentally included changes needed to test make dist with LLVM > 3.9 Signed-off-by: Dylan Baker <[email protected]> Acked-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* mesa: Make numSamples an unsigned intGert Wollny2018-01-194-6/+6
| | | | | | | | | | As a followup to the previous patch propagate the change of numSamples from int to unsigned to gl_config::samples and consequently fix some -Wsign-compare warnings. Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: move gl_external_samplers() to program.[ch]Brian Paul2018-01-171-17/+0
| | | | | | | The function is only called from a couple places. It doesn't make sense to have it in mtypes.h Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: remove unneeded #includes of main/compiler.hBrian Paul2018-01-1711-11/+0
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: include util/macros.h in format_fallback.cBrian Paul2018-01-171-0/+1
| | | | | | To get definition of unreachable() macro. Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: remove unneeded semicolonsGrazvydas Ignotas2018-01-172-2/+2
| | | | | | Trivial. Found by Coccinelle. Reviewed-by: Eric Engestrom <[email protected]>
* mesa: require at least 14 UBOs for GL 4.3Roland Scheidegger2018-01-121-0/+1
| | | | | | | | | | | | ARB_ubo requires 12 UBOs (per stage) at least, but this limit has been raised by GL 4.3 to 14, so don't advertize GL 4.3 without it (only checking the vertex stage since all drivers probably have the same limit anyway for other stages). (piglit has minmax tests for that kind of thing, but they go only up to 3.3, so this won't really be noticed.) I think this currently should not affect any driver - r600 until very recently only supported 12 but now advertizes 14 too. Reviewed-by: Brian Paul <[email protected]>
* meson: Use consistent style for testsDylan Baker2018-01-111-1/+3
| | | | | | | Don't use intermediate variables, use consistent whitespace. Acked-by: Eric Engestrom <[email protected]> Signed-off-by: Dylan Baker <[email protected]>
* glsl: remove Lower{TCS,TES}PatchVerticesInIago Toral Quiroga2018-01-101-2/+0
| | | | | | | | | | | | Intel was the only user and now NIR can do the lowering. v2: do not try to handle it as a system value directly for the SPIR-V path. In GL we rather handle it as a uniform like we do for the GLSL path (Jason). v3: drop LowerTESPatchVerticesIn as well (Jason) Reviewed-by: Jason Ekstrand <[email protected]>
* Fix use of alloca() without #include <c99_alloca.h>Jon Turney2018-01-091-0/+1
| | | | | ../../../src/mesa/main/shaderapi.c: In function ‘_mesa_ShaderBinary’: ../../../src/mesa/main/shaderapi.c:2188:9: error: implicit declaration of function ‘alloca’ [-Werror=implicit-function-declaration]
* mesa: remove dd_function_table::GetCompressedTexSubImage and clean it upMarek Olšák2018-01-063-30/+11
| | | | Reviewed-by: Ian Romanick <[email protected]>
* mesa/bindless: fix missing image _Layer initializationIlia Mirkin2018-01-041-0/+1
| | | | | | | | | | | Some later code relies on _Layer to set first/last_layer. Make sure it's always initialized. Detected by valgrind's conditional jump/move with uninit value logic. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: Add GL_UNSIGNED_INT_2_10_10_10_REV OES read type for BGRX1010102.Mario Kleiner2018-01-031-1/+2
| | | | | | | | | | | | | | | | | | As Marek noted, the GL_RGBA + GL_UNSIGNED_INT_2_10_10_10_REV type combo is also good for readback of BGRX1010102 framebuffers, not only for BGRA1010102 framebuffers for use with glReadPixels() under GLES, so add it for the GL_IMPLEMENTATION_COLOR_READ_TYPE_OES query. Successfully tested on gallium r600 driver with a (quickly hacked for RGBA 10 10 10 0) dEQP testcase dEQP-EGL.functional.wide_color.window_1010102_colorspace_default. Suggested-by: Marek Olšák <[email protected]> Signed-off-by: Mario Kleiner <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Tapani Pälli <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
* mesa: Add GL_RGBA + GL_UNSIGNED_INT_2_10_10_10_REV for OES read type.Mario Kleiner2018-01-031-0/+3
| | | | | | | | | | | | | | This format + type combo is good for BGRA1010102 framebuffers for use with glReadPixels() under GLES, so add it for the GL_IMPLEMENTATION_COLOR_READ_TYPE_OES query. Allows successful testing of 10 bpc / depth 30 rendering with dEQP test case dEQP-EGL.functional.wide_color.window_1010102_colorspace_default. Signed-off-by: Mario Kleiner <[email protected]> Reviewed-by: Tapani Pälli <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
* mesa: Add _mesa_bind_texture methodIan Romanick2018-01-022-2/+26
| | | | | | | Light-weight glBindTexture for internal use. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Tapani Pälli <[email protected]>
* Revert "mesa: remove unused _mesa_delete_nameless_texture()"Ian Romanick2018-01-022-0/+46
| | | | | | | | | | | Changes in this series use this function. This reverts commit 048de9e34a2214371481143cddcaa53f52468c6b. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Tapani Pälli <[email protected]> Cc: Samuel Pitoiset <[email protected]> Cc: Timothy Arceri <[email protected]>
* mesa: Fold _mesa_record_error into its only callerIan Romanick2018-01-023-30/+2
| | | | | | | | | Also, the comment on _mesa_record_error was wrong. dd_function_table::Error was not called because that function does not exist. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Tapani Pälli <[email protected]>
* mesa: always compare optype with symbolic name in ATI_fsMiklós Máté2017-12-251-3/+3
| | | | | Signed-off-by: Miklós Máté <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* mesa: document ati_fragment_shader::cur_pass and swizzlerqMiklós Máté2017-12-251-0/+4
| | | | Signed-off-by: Miklós Máté <[email protected]>
* mesa: move ATI_fs state compile changes after the error checksMiklós Máté2017-12-251-54/+53
| | | | | | | | | | Both in setup and arithmetic instructions. Also, remove the useless new_*_inst() functions, and refactor check_arith_arg(), because it did two completely different things. Piglit: spec/ati_fragment_shader/error04-endshader Signed-off-by: Miklós Máté <[email protected]>
* mesa: fix not having secondary color in ATI_fs in swrastMiklós Máté2017-12-251-7/+10
| | | | | | | | | ATI_fs in swrast only had secondary color if GL_COLOR_SUM was enabled. This patch probably fixes the same issue in r200. Piglit: spec/ati_fragment_shader/render-sources and render-precedence Signed-off-by: Miklós Máté <[email protected]>
* mesa: fix validate for secondary interpolatorMiklós Máté2017-12-251-13/+27
| | | | | | | | | | | | | | | This patch fixes multiple problems: - the interpolator check was duplicated - both had arg instead of argRep - I split it into color and alpha for better readability and error msg - the DOT4 check only applies to color instruction according to the spec - made the DOT4 check fatal, and improved the error msg Piglit: spec/ati_fragment_shader/error08-secondary v2: fixed formatting, added spec quotations Signed-off-by: Miklós Máté <[email protected]>
* mesa: fix typo in ATI_fs dstMod error checkingMiklós Máté2017-12-251-1/+1
| | | | | | | Piglit: spec/ati_fragment_shader/error14-invalidmod Signed-off-by: Miklós Máté <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: fix crash when an ATI_fs pass begins with an alpha instMiklós Máté2017-12-251-3/+7
| | | | | | | | | | | | | This fixes crash when: - first pass begins with alpha inst - first pass ends with color inst, second pass begins with alpha inst Also, use the symbolic name instead of a number. Piglit: spec/ati_fragment_shader/api-alphafirst v2: fixed formatting Signed-off-by: Miklós Máté <[email protected]>
* mesa: add fallback texture for SampleMapATI if there is nothingMiklós Máté2017-12-251-0/+30
| | | | | | | | | | | This fixes crash in the state tracker. Piglit: spec/ati_fragment_shader/render-notexture v2: fixed formatting, moved stuff inside the loop, moved the fallback later to fix more cases Signed-off-by: Miklós Máté <[email protected]>