summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* mesa/srgb: handle SARGB8 case in the sw fbo renderer.Dave Airlie2011-01-131-0/+4
|
* st/mesa: fix a regression from cae2bb76Fredrik Höglund2011-01-131-2/+1
| | | | | | | | | | stObj->pt is null when a TFP texture is passed to st_finalize_texture, and with the changes introduced in the above commit this resulted in a new texture being created and the existing image being copied into it. NOTE: This is a candidate for the 7.10 branch. Reviewed-by: Alex Deucher <[email protected]>
* nvc0: disable calling of sw methods we don't implementBen Skeggs2011-01-131-0/+4
| | | | | | | Left in the code as a marker of what NVIDIA do, just in case we need to do this some day. Signed-off-by: Ben Skeggs <[email protected]>
* mesa/fbo: prevent assert trigger on i965 with piglit fbo-srgb test.Dave Airlie2011-01-131-0/+2
|
* nvc0: fix mp_stack_bo relocationBen Skeggs2011-01-131-2/+2
| | | | | | | | | | Fixes a PT_NOT_PRESENT error cause by: - allocating in VRAM - emitting GART relocs to 0x17bc/0x17c0, moving the buffer - telling the bufmgr that the buffer should be in VRAM when we use it, but not correcting the value sent to 0x17bc/0x17c0. Signed-off-by: Ben Skeggs <[email protected]>
* mesa: Move loop variable declarations outside for loop in extensions.c.Vinson Lee2011-01-121-8/+15
| | | | Fixes MSVC build.
* mesa: check for dummy renderbuffer in _mesa_FramebufferRenderbufferEXT()Brian Paul2011-01-121-0/+7
| | | | | | | | Fixes a failed assertion when a renderbuffer ID that was gen'd but not previously bound was passed to glFramebufferRenderbuffer(). Generate the same error that NVIDIA does. NOTE: This is a candidate for the 7.9 and 7.10 branches.
* mesa: don't assert in GetIntegerIndexed, etcBrian Paul2011-01-121-6/+12
| | | | | | We were getting an assertion upon invalid pname. NOTE: This is a candidate for the 7.9 and 7.10 branches.
* mesa: fix num_draw_buffers==0 in fixed-function fragment program generationBrian Paul2011-01-121-2/+2
| | | | | | | | This fixes a problem when glDrawBuffers(GL_NONE). The fragment program was writing to color output[0] but OutputsWritten was 0. That led to a failed assertion in the Mesa->TGSI translation code. NOTE: This is a candidate for the 7.9 and 7.10 branches.
* st/mesa: add st_BeginQuery() case for GL_ANY_SAMPLES_PASSEDBrian Paul2011-01-121-0/+2
| | | | Fixes piglit occlusion_query2 failure.
* glsl: remove trailing comma to silence warningBrian Paul2011-01-121-1/+1
|
* noop: change var type to silence warningBrian Paul2011-01-121-1/+1
|
* glsl/Makefile: Fix build with --as-needed.Kenneth Graunke2011-01-121-1/+1
|
* mesa: Move declaration before code in extensions.c.Vinson Lee2011-01-121-6/+16
| | | | Fixes SCons build.
* mesa: Change OES_point_sprite to depend on ARB_point_spriteChad Versace2011-01-121-1/+1
| | | | | | | | The extension string in GLES1 contexts always advertised GL_OES_point_sprite. Now advertisement depends on ARB_point_sprite being enabled. Reviewed-by: Ian Romanick <[email protected]>
* mesa: Change dependencies of some OES extension stringsChad Versace2011-01-121-5/+5
| | | | | | | Change all OES extension strings that depend on ARB_framebuffer_object to instead depend on EXT_framebuffer_object. Reviewed-by: Ian Romanick <[email protected]>
* mesa: Add/remove extensions in extension stringChad Versace2011-01-121-5/+5
| | | | | | | | | | | | | Add GL_OES_stencil8 to ES2. Remove the following: GL_OES_compressed_paletted_texture : ES1 GL_OES_depth32 : ES1, ES2 GL_OES_stencil1 : ES1, ES2 GL_OES_stencil4 : ES1, ES2 Mesa advertised these extensions, but did not actually support them. Reviewed-by: Ian Romanick <[email protected]>
* mesa: Refactor handling of extension stringsChad Versace2011-01-122-490/+406
| | | | | | | | | | | | Place GL, GLES1, and GLES2 extensions in a unified extension table. This allows one to enable, disable, and query the status of GLES1 and GLES2 extensions by name. When tested on Intel Ironlake, this patch did not alter the extension string [as given by glGetString(GL_EXTENSIONS)] for any API. Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* glsl: Track variable usage, use that to enforce semanticsIan Romanick2011-01-123-2/+26
| | | | | | | | | In particular, variables cannot be redeclared invariant after being used. Fixes piglit test invariant-05.vert and bugzilla #29164. NOTE: This is a candidate for the 7.9 and 7.10 branches.
* i965/fs: Do flat shading when appropriate.Eric Anholt2011-01-122-20/+42
| | | | | We were trying to interpolate, which would end up doing unnecessary math, and doing so on undefined values. Fixes glsl-fs-flat-color.
* r600g: also look at tex inst when for maximum gpu countChristian König2011-01-121-1/+7
|
* generate_builtins.py: Add missing import.Vinson Lee2011-01-121-0/+1
| | | | Import sys for sys.exit.
* meta: Actually use mipmapping when generating mipmaps.Eric Anholt2011-01-121-1/+1
| | | | | | | | With the change to not reset baselevel, this GL_LINEAR filtering was resulting in generating mipmaps off of the base level instead of the next higher detail level. Fixes fbo-generatemipmap-filtering. Reported by: Neil Roberts <[email protected]>
* i965: Clarify when we need to (re-)calculate live intervals.Eric Anholt2011-01-123-5/+27
| | | | | | The ad-hoc placement of recalculation somewhere between when they got invalidated and when they were next needed was confusing. This should clarify what's going on here.
* r600g: implement output modifiers and use them to further optimize LRPChristian König2011-01-124-0/+33
|
* r600g: use special constants for 0, 1, -1, 1.0f, 0.5f etcChristian König2011-01-121-12/+44
|
* r600g: optimize temp register handling for LRPChristian König2011-01-121-34/+38
|
* r600g: optimize away CF_INST_POPChristian König2011-01-123-3/+29
| | | | | If last instruction is an CF_INST_ALU we don't need to emit an additional CF_INST_POP for stack clean up after an IF ELSE ENDIF.
* r600g: make dumping of shaders an optionChristian König2011-01-121-4/+14
|
* r600g: fix alu dumpingChristian König2011-01-121-19/+13
|
* r600g: improve r600_bc_dumpChristian König2011-01-121-28/+131
|
* i965/vs: When MOVing to produce ABS, strip negate of the operand.Eric Anholt2011-01-121-0/+1
| | | | | We were returning the negative absolute value, instead of the absolute value. Fixes glsl-vs-abs-neg.
* i965/fs: When producing ir_unop_abs of an operand, strip negate.Eric Anholt2011-01-121-0/+1
| | | | | We were returning the negative absolute value, instead of the absolute value. Fixes glsl-fs-abs-neg.
* glsl: Make builtin_compiler build on Windows with MSVC.José Fonseca2011-01-121-1/+13
|
* glsl: Make builtin_compiler portable for non-unices.José Fonseca2011-01-121-31/+28
|
* getopt: Make code more portable.José Fonseca2011-01-123-12/+18
|
* getopt: Import OpenBSD getopt implementation for MSVC.José Fonseca2011-01-125-0/+607
|
* scons: Update windows build for vgapi->openvg rename.José Fonseca2011-01-121-1/+1
|
* scons: Fix build on systems without libOpenVG.soJosé Fonseca2011-01-122-5/+6
|
* egl: When EGL_DRIVER is set, do not add other drivers.Chia-I Wu2011-01-121-5/+14
| | | | | Setting EGL_DRIVER forces the driver to be loaded, as documented. There should be no fallbacks.
* egl: libEGL depends on LOCAL_LIBS.Chia-I Wu2011-01-121-1/+1
| | | | So that libEGL is rebuilt whenever LOCAL_LIBS changes.