summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* 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]>
* 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]>
* mesa: Remove some shared NV_vp/fp functions from the dispatch table.Kenneth Graunke2012-10-162-89/+0
| | | | | | | | | Also kill the resulting dead code for display list handling. v2: Also kill dlist's OPCODE_REQUEST_RESIDENT_PROGRAMS_NV. Reviewed-by: Brian Paul <[email protected]> [v1] Reviewed-by: Eric Anholt <[email protected]>
* mesa: Unhook NV_fragment_program API from the dispatch table.Kenneth Graunke2012-10-162-102/+0
| | | | | | | | | | | | The NamedParameter functions were introduced in NV_fragment_program, and are not shared with any other extensions. Although this patch appears to remove the LocalParameter functions, it does not: the ARB_fragment_program section also set them up. Now we simply initialize them a single time. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* swrast: Remove support for the NV_fragment_program extension.Kenneth Graunke2012-10-163-9/+1
| | | | | | | | No hardware drivers support this, it's obsolete, and unlikely to be useful without NV_vertex_program, which is gone now. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* r600g: Fix segfault in r600_compute_global_transfer_map()Tom Stellard2012-10-161-1/+1
| | | | | | This segfault was caused by commit 369e46888904c6d379b8b477d9242cff1608e30e, however it is my fault for not testing the patch while it was on the list.
* r600g: Fix build with --enable-openclTom Stellard2012-10-161-0/+1
|
* mesa/es: Enable GL_EXT_map_buffer_rangeFredrik Höglund2012-10-166-10/+52
| | | | | | This extension is functionally the same as GL_ARB_map_buffer_range. Reviewed-by: Ian Romanick <[email protected]>
* gbm: Reject buffers that are not wl_drm buffers in gbm_bo_import()Kristian Høgsberg2012-10-151-0/+3
| | | | Signed-off-by: Kristian Høgsberg <[email protected]>
* glx: Fix a regression in the new XCB codeFredrik Höglund2012-10-161-3/+15
| | | | | | | | | | | dri2DrawableGetMSC(), dri2WaitForMSC() and dri2WaitForSBC() were inadvertently changed to return 0 on success. This resulted in the callers returning an error to the client. Restore the previous behavior and also check that the reply pointers are valid before accessing them. Reviewed-by: Eric Anholt <[email protected]>
* st/mesa: remove OPCODE_BRA switch caseBrian Paul2012-10-151-2/+0
|
* mesa: Remove defines for NV_vertex_program limits.Eric Anholt2012-10-153-18/+4
| | | | | | | | Note that _mesa_GetVertexAttribPointervNV() is actually glGetVertexAttribPointerv(), which operates on the generic attributes. The geometry shader initialization looks like arbitrary cruft to me. Reviewed-by: Brian Paul <[email protected]>
* mesa: Fix comments for NV_vp code that's now only used by other extensions.Eric Anholt2012-10-154-12/+8
| | | | Reviewed-by: Brian Paul <[email protected]>
* mesa: Add notes about remaining NV_vertex_program code.Eric Anholt2012-10-153-1/+9
| | | | Reviewed-by: Brian Paul <[email protected]>
* mesa: Remove miscellaneous remains of NV_vertex_program.Eric Anholt2012-10-158-76/+15
| | | | | | v2: Rebase on top of get.c changes. Reviewed-by: Brian Paul <[email protected]> (v1)