aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* | generate_builtins.py: Whitespace fixes.Vinson Lee2011-01-141-7/+7
| | | | | | | | Also removed unnecessary semicolons.
* | generate_builtins.py: Fix builds using Python 2.5.Vinson Lee2011-01-141-0/+2
| |
* | i965: Replace broken handling of dead code with an assert.Eric Anholt2011-01-141-10/+12
| | | | | | | | | | | | This code should never have been triggered, but I often did anyway when I disabled optimization passes during debugging, then spent my time debugging that this code doesn't work.
* | i965: Add an invalidation of live intervals after register splitting.Eric Anholt2011-01-141-0/+1
| | | | | | | | No effect, since it was called before live intervals were calculated.
* | mesa: Simplify _mesa_base_fbo_format by making it exceptions to teximages.Eric Anholt2011-01-141-43/+24
| | | | | | | | | | | | The comment of "this is just like teximages except for..." is a pretty good clue that we're handling this wrong. By just using the teximage code, we catch a bunch of cases we'd missed, like GL_RED and GL_RG.
* | mesa: Add channel-wise copy propagation to ir_to_mesa.Eric Anholt2011-01-141-0/+129
| | | | | | | | | | | | | | | | This catches more opportunities than the prog_optimize.c code on openarena's fixed function shaders turned to GLSL, mostly due to looking at multiple source instructions for copy propagation opportunities. It should also be much more CPU efficient than prog_optimize.c's code.
* | i915: Fix compiler warning from sw fallback removal change.Eric Anholt2011-01-141-1/+1
| |
* | r600g: Disable V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_INT_FLOOR case.Vinson Lee2011-01-141-0/+2
| | | | | | | | | | | | The usage of macro V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_INT_FLOOR was introduced by commit 323ef3a1f07ba4333dadebab571ddcd49d95f45c but the macro is undefined. Disable this case to fix the build for now.
* | gles2: Also support GL_BGRA_EXT for glTexSubImage2dKristian Høgsberg2011-01-141-0/+8
| |
* | r600g: add more missing instructions to r600_bc_get_num_operandsChristian König2011-01-141-1/+5
| |
* | egl: Fix EGL_VERSION string.Chia-I Wu2011-01-141-1/+1
| | | | | | | | Fix a copy-and-paste error in a4a38dcf61f141297a083ccac217200947d57b0d.
* | egl: Fix an assertion in _eglUpdateAPIsString.Chia-I Wu2011-01-141-1/+1
| | | | | | | | dpy->ClientAPIs was renamed in a4a38dcf61f141297a083ccac217200947d57b0d.
* | i965: fix fbo-srgb on i965.Dave Airlie2011-01-141-0/+5
| | | | | | | | | | | | | | Until we get the EXT_framebuffer_sRGB extension we should bind the sRGB formats for FBO as linear. Signed-off-by: Dave Airlie <[email protected]>
* | srgb: fix fbo base format picking.Dave Airlie2011-01-141-1/+1
| | | | | | | | Pointed out by Brian.
* | i915: Disable extension OES_standard_derivativesChad Versace2011-01-131-0/+13
| | | | | | | | | | OES_standard_derivatives must be manually disabled for i915 because Mesa enables it by default.
* | mesa: Change OES_standard_derivatives to be stand-alone extensionChad Versace2011-01-132-1/+3
| | | | | | | | | | | | | | | | Add a bit in struct gl_extensions for OES_standard_derivatives, and enable the bit by default. Advertise the extension only if the bit is enabled. Previously, OES_standard_derivatives was advertised in GLES2 contexts if ARB_framebuffer_object was enabled.
* | r600g: Move declaration before code in r600_asm.c.Vinson Lee2011-01-131-1/+3
| | | | | | | | Fixes SCons build.
* | r600g: rework literal handlingChristian König2011-01-135-277/+151
| |
* | r600g: merge alu groupsChristian König2011-01-132-37/+150
| |
* | r600g: implement replacing gpr with pv and psChristian König2011-01-133-5/+63
| |
* | glsl: Emit errors or warnings when 'layout' is used with 'attribute' or ↵Ian Romanick2011-01-131-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'varying' The specs that add 'layout' require the use of 'in' or 'out'. However, a number of implementations, including Mesa, shipped several of these extensions allowing the use of 'varying' and 'attribute'. For these extensions only a warning is emitted. This differs from the behavior of Mesa 7.10. Mesa 7.10 would only accept 'attribute' with 'layout(location)'. This behavior was clearly wrong. Rather than carrying the broken behavior forward, we're just doing the correct thing. This is related to (piglit) bugzilla #31804. NOTE: This is a candidate for the 7.9 and 7.10 branches.
* | glsl: Allow 'in' and 'out' when 'layout' is also availableIan Romanick2011-01-131-2/+5
| | | | | | | | | | | | | | | | | | All of the extensions that add the 'layout' keyword also enable (and required) the use of 'in' and 'out' with shader globals. This is related to (piglit) bugzilla #31804. NOTE: This is a candidate for the 7.9 and 7.10 branches.
* | scons: Fix cross-compilation.José Fonseca2011-01-132-30/+42
| | | | | | | | Hairy stuff. Don't know how to do it better though.
* | r600g: add missing RECIPSQRT_CLAMPED to r600_bc_get_num_operandsChristian König2011-01-131-0/+1
| |
* | r600g: rework bank swizzle codeChristian König2011-01-132-183/+174
| |
* | r600g: fix alu slot assignmentChristian König2011-01-131-15/+167
| |
* | r600g: optimize away CF ALU instructions even if type doesn't matchChristian König2011-01-131-3/+16
| |
* | nvc0: identify POINT_RASTER_RULES, add POINT_SMOOTH stateChristoph Bumiller2011-01-134-19/+42
| | | | | | | | | | | | Point smoothing requires rasterization rules to be set to OGL. Sorry for the extra noise caused by the header update.
* | draw: Fix an off-by-one bug in a vsplit assertion.Chia-I Wu2011-01-141-1/+2
| | | | | | | | | | | | | | | | When use_spoken is true, istart (the first vertex of this segment) is replaced by i0 (the spoken vertex of the fan). There are still icount vertices. Thanks to Brian Paul for spotting this.
* | i965: Remove unnecessary headers.Vinson Lee2011-01-131-2/+0
| |
* | targets/egl-static: Remove unnecessary header.Vinson Lee2011-01-131-1/+0
| |
* | r600g: Silence uninitialized variable warnings.Vinson Lee2011-01-131-4/+4
| |
* | mesa: Add missing break statement in SARGB8 case.Vinson Lee2011-01-131-0/+1
| |
* | egl: need stdio.h for non-Windows build too to avoid compiler warningBrian Paul2011-01-131-1/+1
| |
* | dri_util: fail driCreateNewScreen if InitScreen is NULLPaulo Zanoni2011-01-131-0/+3
| | | | | | | | | | | | | | | | | | Without this, X doesn't start with UMS on r300g. NOTE: This is a candidate for the 7.9 and 7.10 branches. Signed-off-by: Paulo Zanoni <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* | scons: Ensure the OpenVG/EGL import libs are also prefixed with 'lib'.José Fonseca2011-01-132-0/+2
| |
* | scons: Build libOpenVG.dll & libEGL.dllJosé Fonseca2011-01-132-1/+7
| | | | | | | | | | | | But without creating liblibOpenVG or liblibEGL elsewhere. Thanks Chia-I Wu for pointing this out.
* | util: Undo spurious changes in last commit.José Fonseca2011-01-131-1/+1
| |
* | util: Don't limit debug_printf message length on unices.José Fonseca2011-01-131-1/+6
| |
* | egl: Improve driver selection.Chia-I Wu2011-01-1310-63/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The idea is to be able to match a driver using the following order try egl_gallium with hw renderer try egl_dri2 try egl_gallium with sw renderer try egl_glx given the module list egl_gallium egl_dri2 egl_glx For that, UseFallback initialization option is added. The module list is matched twice: with the option unset and with the option set. In the first pass, egl_gallium skips its sw renderer and egl_glx rejects to initialize since UseFallback is not set. In the second pass, egl_gallium skips its hw renderer and egl_dri2 rejects to initialize since UseFallback is set. The process stops at the first driver that initializes the display.
* | egl: Simplify driver matching.Chia-I Wu2011-01-136-92/+64
| | | | | | | | | | | | Add initialization options that drv->API.Initialize should support. Replace drv->Probe by TestOnly initialization option and simplify _eglMatchDriver.
* | egl: Cleanup _EGLDisplay initialization.Chia-I Wu2011-01-139-72/+66
| | | | | | | | | | Reorder/rename and document the fields that should be set by the driver during initialization. Drop the major/minor arguments from drv->API.Initialize.
* | glsl/s_expression: Read and ignore Scheme-style comments.Kenneth Graunke2011-01-121-6/+15
| | | | | | | | | | A single-semicolon until the end of the line, i.e. ; this is a comment.
* | glsl/builtins: Remove unnecessary (constant bool (1)) from assignments.Kenneth Graunke2011-01-1212-269/+265
| | | | | | | | This isn't strictly necessary, but is definitely nicer.
* | ir_reader: Make assignment conditions optional.Kenneth Graunke2011-01-122-11/+13
| | | | | | | | | | You can now simply write (assign (xy) <lhs> <rhs>) instead of the verbose (assign (constant bool (1)) (xy) <lhs> <rhs>).
* | ir_reader: Convert to a class.Kenneth Graunke2011-01-121-238/+241
| | | | | | | | | | | | | | This makes it unnecessary to pass _mesa_glsl_parse_state around everywhere, making at least the prototypes a lot easier to read. It's also more C++-ish than a pile of static C functions.
* | ir_reader: Combine the three dereference reading functions into one.Kenneth Graunke2011-01-121-83/+36
| | | | | | | | | | These used to be more complicated, but now are so simple there's no real point in keeping them separate.
* | ir_reader: Relax requirement that function arguments be s_lists.Kenneth Graunke2011-01-121-85/+78
| | | | | | | | | | | | | | | | | | All of these functions used to take s_list pointers so they wouldn't all need SX_AS_LIST conversions and error checking. However, the new pattern matcher conveniently does this for us in one centralized place. So there's no need to insist on s_list. Switching to s_expression saves a bit of code and is somewhat cleaner.
* | ir_reader: Remove s_list::length() method.Kenneth Graunke2011-01-123-18/+8
| | | | | | | | | | Most code now relies on the pattern matcher rather than this function, and for the only remaining case, not using this saves an iteration.
* | ir_reader: Add a pattern matching system and use it everywhere.Kenneth Graunke2011-01-123-308/+294
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the IR reader was riddled with code that: 1. Checked for the right number of list elements (via a linked list walk) 2. Retrieved references to each component (via ->next->next pointers) 3. Downcasted as necessary to make sure that each sub-component was the right type (i.e. symbol, int, list). 4. Checking that the tag (i.e. "declare") was correct. This was all very ad-hoc and a bit ugly. Error checking had to be done at both steps 1, 3, and 4. Most code didn't even check the tag, relying on the caller to do so. Not all callers did. The new pattern matching module performs the whole process in a single straightforward function call, resulting in shorter, more readable code. Unfortunately, MSVC does not support C99-style anonymous arrays, so the pattern must be declared outside of the match call.