summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* svga: fix MSVC double/float parameter warningBrian Paul2012-10-161-1/+1
|
* svga: silence MSVC float/int assignment warningsBrian Paul2012-10-162-3/+3
|
* svga: silence MSVC double/float assignment warningsBrian Paul2012-10-161-23/+23
|
* svga: silence some MSVC signed/unsigned comparison warningsBrian Paul2012-10-1611-11/+13
|
* mesa/tests: Add ES1.1 dispatch table sanity testIan Romanick2012-10-161-0/+207
| | | | | | | | | This test actually depends on FEATURE_ES1 because _mesa_create_exec_table_es1 doesn't exist without it. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Paul Berry <[email protected]>
* mesa/tests: Compile ES2 test regardless of FEATURE_ES2 settingIan Romanick2012-10-161-4/+0
| | | | | | | | | The relevant ES2 code is always in Mesa. Always building the tests ensures that things aren't accidentally broken when people don't build with --enable-es2. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* mesa: remove FEATURE_ES1 tests in enable.c codeBrian Paul2012-10-161-6/+0
| | | | Reviewed-by: Ian Romanick <[email protected]>
* mesa: remove FEATURE_ES test in _mesa_get_compressed_formats()Brian Paul2012-10-161-2/+0
| | | | Reviewed-by: Ian Romanick <[email protected]>
* mesa: remove FEATURE_ES test in _mesa_is_compressed_format()Brian Paul2012-10-161-2/+0
| | | | | | The code already has a runtime ES1 test. Reviewed-by: Ian Romanick <[email protected]>
* mesa: remove FEATURE_GL test from updated_drawbuffers()Brian Paul2012-10-161-2/+0
| | | | | | There's already a runtime test for full OpenGL. Reviewed-by: Ian Romanick <[email protected]>
* mesa: remove #if _HAVE_FULL_GL checksBrian Paul2012-10-1618-133/+1
| | | | | | This is basically more of the "remove FEATURE_x" clean-up. Reviewed-by: Ian Romanick <[email protected]>
* mesa: remove ASSERT_NO_FEATURE macroBrian Paul2012-10-162-4/+1
| | | | | | Was only used in one place. Reviewed-by: Ian Romanick <[email protected]>
* i965: Fix rendering to small mipmaps of depth/stencil buffers using a temp mt.Eric Anholt2012-10-164-121/+172
| | | | | | | Fixes 51 piglit tests (fbo-clear-formats, and most of the remaining failures in depthstencil). Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Share the draw x/y offset masking code between main/blorp and all gens.Eric Anholt2012-10-166-108/+89
| | | | | | | | | | This code is twisty, and the comment before most of the blocks was actually giving me the opposite impression from its intention: We want to apply as much of our offset as possible through coarse tile-aligned adjustment, since we can do so independently per buffer, and apply the minimum we can through fine-grained drawing offset x/y, since it has to agree between all buffers. Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Make a helper function for the renderbuffer temporary mt workaround.Eric Anholt2012-10-163-22/+30
| | | | | | | We now have a case of wanting to do that on gen6+ as well, so make this logic usable elsewhere. Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Warn on a couple of workarounds in blending.Eric Anholt2012-10-161-2/+15
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* intel: Add a macro for printing a debug warning once.Eric Anholt2012-10-161-0/+11
| | | | | | | | | | | | There are a number of places where some obscure piece of the code is not currently worth fixing, and we have some workaround behavior available. It's nicer for users to do some lame workaround than to just assert, but without asserts we never knew when the workaround was at fault. This should give us a nice compromise: Execute the workaround, but mention that the obscure workaround was hit. Reviewed-by: Kenneth Graunke <[email protected]>
* docs: add note about removal of GL_NV_fragment_programAndreas Boll2012-10-161-0/+1
|
* glapi: Delete gles_api.py, since it is no longer used.Paul Berry2012-10-162-472/+0
| | | | | Tested-by: Matt Turner <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mapi_abi: Use GLES information from XML rather than gles_api.py.Paul Berry2012-10-161-5/+11
| | | | | | | | | | Note: mapi_abi can consume API information from either XML or a .csv file. A side effect of this change is that the ES1 and ES2 API printers can only be used with XML input now. That's ok, since the .csv input format is only used for the OpenVG API. Tested-by: Matt Turner <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mapi_abi: Override 'hidden' and 'handcode' attributes using polymorphism.Paul Berry2012-10-161-15/+23
| | | | | | | | | | | | | | | | | Previously, the ES1, ES2, and shared GLAPI printers passed a list of function names to the base class constructor, which was used by the _override_for_api() function to loop over all the API functions and adjust their 'hidden' and 'handcode' attributes as appropriate for the API flavour being code-generated. This patch lifts the loop from _override_for_api() into its caller, and makes it into a polymorphic function, so that the derived classes can customize its behaviour directly. In a future patch, this will allow us to override the 'hidden' and 'handcode' attributes based on information from the XML rather than a list of functions. Tested-by: Matt Turner <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mapi_abi: Get rid of unnecessary copy.Paul Berry2012-10-161-16/+3
| | | | | | | | | | | | Previously, _get_api_entries() would make a deep copy of each element in the entries table before modifying the 'hidden' and 'handcode' attributes. This was unnecessary, since the entries aren't used again after this function. Removing the copy simplifies the code, because it is no longer necessary to adjust the alias pointers to point to the copied entries. Tested-by: Matt Turner <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mapi_abi: Remove sanity check that all GLES functions are present.Paul Berry2012-10-161-5/+0
| | | | | | | | | | | | | | | | | Currently mapi_abi.py uses hardcoded lists of function names (in gles_api.py) to determine which functions need to be included in the GLES 1 or GLES 2 API. This patch removes a sanity check which verified that all GLES functions listed in the hardcoded lists were actually present in the XML. Later patches in this series will modify mapi_abi.py to determine which functions need to be included in the GLES 1 or GLES 2 API based directly on the XML. Once that is done, the sanity check will be redundant. Removing the sanity check now will simplify the patches to come. Tested-by: Matt Turner <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mapi_abi: Collect all imports at top of file.Paul Berry2012-10-161-8/+5
| | | | | Tested-by: Matt Turner <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glapi: Use GLES information from XML rather than gles_api.py.Paul Berry2012-10-162-16/+2
| | | | | Tested-by: Matt Turner <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glapi: Read GLES information from XML.Paul Berry2012-10-161-0/+48
| | | | | Tested-by: Matt Turner <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glapi: Add es1 and es2 attributes to XML.Paul Berry2012-10-169-334/+502
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the set of functions which exist in GLES1 or GLES2 is determined by hardcoded lists of function names in gles_api.py. This patch encodes that information into the XML files using new attributes, es1 and es2. The es1 attribute denotes the first version of GLES 1 in which the function exists (e.g. es1="1.1" means the function exists in GLES 1.1 but not GLES 1.0). "none" (the default) means the function is not available in any version of GLES 1. The es2 attribute denotes the first version of GLES 2/3 in which the function exists (e.g. es2="2.0" means the function exists in both GLES 2.0 and GLES 3.0). "none" (the default) means the function is not available in any version of GLES 2 or GLES 3. Note that since GLES 3 is a strict superset of GLES 2, there is no need for a separate attribute for it; instead, 'es2="3.0"' should be used to denote functions that are present in GLES 3 but not GLES 2. This patch only adds information about GLES versions 1.0, 1.1, and 2.0. Later patches will modify the python code generation scripts to use this information rather than the hardcoded lists in gles_api.py. Tested-by: Matt Turner <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glapi: use new-style Python classes.Paul Berry2012-10-164-10/+10
| | | | | | | | | | | | | | | | | An unfortunate quirk of Python 2 is that there are two types of classes: "classic" classes (which are backward compatible with some unfortunate design decisions made early in Python's history), and "new-style" classes. Classic classes have a number of limitations (for example they don't support super()) and are unavailable in Python 3. There's really no reason to use classic classes, except in unmaintained legacy code. For more information see http://www.python.org/download/releases/2.2.3/descrintro/. This patch upgrades the Python code in src/mapi/glapi/gen to use exclusively new-style classes. Tested-by: Matt Turner <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* i965/fs: Fix segfault when using INTEL_DEBUG=perf with non-GLSL.Kenneth Graunke2012-10-161-1/+1
| | | | | | | | | | | | | | | Now that ARB programs and fixed function are routed through the new backend, shader might be NULL. Don't do INTEL_DEBUG=perf support in that case, since it relies on shader->compiled_once. Since INTEL_DEBUG=perf wasn't previously supported, this maintains the status quo. It might be nice to support it someday, however. This could be moved to brw_shader_program instead of brw_shader, but it appears even prog can be NULL in that case. Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Kenneth Graunke <[email protected]>
* mesa: Don't flatten IF statements by default.Kenneth Graunke2012-10-161-0/+1
| | | | | | | | | | | | | MaxIfDepth of 0 means "flatten all the time", not "never flatten". This is only desirable on hardware that can't support control flow; software rasterization and most hardware drivers want this. This alters behavior for swrast as well as i915. Tested on i915. NOTE: This is a candidate for stable release branches. Reviewed-by: Ian Romanick <[email protected]> Signed-off-by: Kenneth Graunke <[email protected]>
* mesa: Remove PROGRAM_WRITE_ONLY register type.Kenneth Graunke2012-10-164-7/+0
| | | | | | | More dead code. I'm not sure what it was for. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Remove dead _mesa_num_parameters_of_type() function.Kenneth Graunke2012-10-162-23/+0
| | | | | Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Remove dead _mesa_add_attribute() function.Kenneth Graunke2012-10-162-34/+0
| | | | | Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Remove remnants of PROGRAM_VARYING.Kenneth Graunke2012-10-165-14/+3
| | | | | | | | The previous patch removed the producer of things in this file. Since there aren't any, we can remove it. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Remove dead _mesa_add_varying() function.Kenneth Graunke2012-10-162-26/+0
| | | | | Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Remove dead program_parameter::Flags field.Kenneth Graunke2012-10-164-19/+12
| | | | | | | All flags are now gone, so we can stop storing and passing this around. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* st/mesa: Remove the PROG_PARAM_BIT_CYL_WRAP flag. [v2]Kenneth Graunke2012-10-162-21/+4
| | | | | | | | | Nobody ever set the flag, which makes this dead code. v2: Leave the ureg_DECL_fs_input_cyl function in place, even though it's unused, since VMWare uses it for their internal projects. Reviewed-by: Eric Anholt <[email protected]>
* mesa: Remove GLSL-related PROG_PARAM_BIT flags.Kenneth Graunke2012-10-162-12/+0
| | | | | | | | GLSL doesn't use the program code anymore. Accordingly, there were no consumers of these flags, so there's no need to define them. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Remove support for named parameters.Kenneth Graunke2012-10-1611-42/+3
| | | | | | | | | | | These were only part of NV_fragment_program, so we can kill them. The fact that PROGRAM_NAMED_PARAM appears in r200_vertprog.c is rather comedic, but also demonstrates that people just spam the various types of parameters everywhere because they're confusing. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* driconf: Remove force enable for NV_vertex_program.Kenneth Graunke2012-10-166-32/+0
| | | | | Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Remove yet more remnants of NV_fragment_program.Kenneth Graunke2012-10-166-16/+8
| | | | | Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Remove some miscellaneous NV program stuff from arbprogram.c.Kenneth Graunke2012-10-161-25/+1
| | | | | Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Simplify _mesa_BindProgram() by removing NV program remnants.Kenneth Graunke2012-10-161-34/+9
| | | | | | | | Without NV programs, there's no need for the compatible_program_targets function. A simple (non-)equality check will do. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Remove get and enable bits for NV_fragment_program.Kenneth Graunke2012-10-163-33/+2
| | | | | | | | | Also remove a leftover remnant from NV_vertex_program. v2: Update for Imre's get changes. Reviewed-by: Brian Paul <[email protected]> [v1] Reviewed-by: Eric Anholt <[email protected]> [v1]
* mesa: Remove prog_print support for NV programs.Kenneth Graunke2012-10-162-56/+5
| | | | | Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Remove support for parsing NV fragment programs.Kenneth Graunke2012-10-165-1648/+0
| | | | | Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Remove the gl_program::Resident flag.Kenneth Graunke2012-10-162-2/+0
| | | | | | | It apparently was only used for NV programs. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Remove the EmitNVTempInitialization shader compiler option.Kenneth Graunke2012-10-162-2/+0
| | | | | | | Nobody uses it anymore. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Remove the NV program API functions.Kenneth Graunke2012-10-166-579/+0
| | | | | | | These are all unused now. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Switch to the other glGetVertexAttribPointervARB implementation.Kenneth Graunke2012-10-162-3/+2
| | | | | | | | | | | | | | | | | Previously, Mesa used nvprogram.c's _mesa_GetVertexAttribPointervNV() function to implement this GL call. There was also a second implementation in varray.c, _mesa_GetVertexAttribPointervARB(), which was entirely unused. The varray.c variant has an additional assertion and checks the index against ctx->Const.VertexProgram.MaxAttribs rather than MAX_VERTEX_GENERIC_ATTRIBS. However, that variable is defined to the same value, so it should be fine. This will allow us to kill the duplicate function. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>