summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* egl_dri2: Fix eglGetProcAddress.Chia-I Wu2011-01-121-1/+2
| | | | The driver struct is zeroed after dri2_load. Oops.
* scons: Updates for targets/egl-static.Chia-I Wu2011-01-128-33/+187
| | | | | | | | Update SConscripts to re-enable or add support for EGL on windows and x11 platforms respectively. targets/egl-gdi is replaced by targets/egl-static, where "-static" means pipe drivers and state trackers are linked to statically by egl_gallium, and egl_gallium is a built-in driver of libEGL. There is no more egl_gallium.dll on Windows.
* targets/egl-static: New EGL target for scons.Chia-I Wu2011-01-127-129/+469
| | | | | This target is based on and replaces egl-gdi. It is suitable for both windows and x11.
* glsl: Add type inference support for remaining expression opcodes.Kenneth Graunke2011-01-111-0/+48
|
* i965: Tighten up the check for flow control interfering with coalescing.Eric Anholt2011-01-111-12/+26
| | | | | | This greatly improves codegen for programs with flow control by allowing coalescing for all instructions at the top level, not just ones that follow the last flow control in the program.
* r600g: texture instructions also work fine with TGSI_FILE_INPUTChristian König2011-01-121-1/+3
|
* r600g: DP4 also supports writemaskingChristian König2011-01-121-8/+6
|
* r600g: Why all this fiddling with tgsi_helper_copy?Christian König2011-01-121-21/+41
| | | | | | | | tgsi_helper_copy is used on several occasions to copy a temporary result into the real destination register to emulate writemasks for OP3 and reduction operations. According to R600 ISA that's unnecessary. This patch fixes this use for MAD, CMP and DP4.
* r600g: fix tex and vtx joiningChristian König2011-01-121-2/+2
|
* glsl: Fix the lowering of variable array indexing to not lose write_masks.Eric Anholt2011-01-111-13/+37
| | | | Fixes glsl-complex-subscript on 965.
* i965: Remove dead fallback for stencil _Enabled but no stencil buffer.Eric Anholt2011-01-111-8/+0
| | | | | The _Enabled field is the thing that takes into account whether there's a stencil buffer. Tested with piglit glx-visuals-stencil.
* r600g: Fixed SIN/COS/SCS for the case where the operand is a literal.Tilman Sauerbeck2011-01-111-2/+15
| | | | | Signed-off-by: Tilman Sauerbeck <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600c: add evergreen ARL support.Alberto Milone2011-01-111-14/+69
| | | | Signed-off-by: Alberto Milone <[email protected]>
* noop: remove dead dri targetJerome Glisse2011-01-114-141/+0
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: move user fence into base radeon structureJerome Glisse2011-01-116-43/+42
| | | | | | | This avoid any issue when context is free and we still try to access fence through radeon structure. Signed-off-by: Jerome Glisse <[email protected]>
* configure: bump libdrm version requirement to 2.4.23Brian Paul2011-01-111-3/+3
| | | | NOTE: This is a candidate for the 7.10 (and 7.9?) branch.
* mesa: include teximage.h to silence warningBrian Paul2011-01-111-0/+1
|
* mesa: do a debug check of _mesa_format_to_type_and_comps()Brian Paul2011-01-112-1/+28
| | | | | | | Make sure that all formats are handled in this function. It's easy to miss this function when adding new pixel formats. See also http://bugs.freedesktop.org/show_bug.cgi?id=31544
* mesa: fix a few format table mistakes, assertionsBrian Paul2011-01-111-7/+8
| | | | | | | The BaseFormat field was incorrect for a few R and RG formats. Fix a couple assertions too. NOTE: This is a candidate for the 7.9 and 7.10 branches.
* glsl: Autogenerate builtin_functions.cpp as part of the build process.Kenneth Graunke2011-01-106-13652/+40
| | | | | | Python is already necessary for other parts of Mesa, so there's no reason we can't just generate it. This patch updates both make and SCons to do so.
* glsl: Disallow 'in' and 'out' on globals in GLSL 1.20Ian Romanick2011-01-101-5/+5
| | | | | | | | Fixes piglit tests glsl-1.20/compiler/qualifiers/in-01.vert and glsl-1.20/compiler/qualifiers/out-01.vert and bugzilla #32910. NOTE: This is a candidate for the 7.9 and 7.10 branches. This patch also depends on the previous two commits.
* glsl: Refresh autogenerated parser file.Ian Romanick2011-01-101-259/+258
| | | | For the previous commit.
* glsl: Add version_string containing properly formatted GLSL versionIan Romanick2011-01-102-14/+14
|
* glcpp: Refresh autogenerated lexer and parser files.Ian Romanick2011-01-101-184/+181
| | | | For the previous commit.
* glcpp: Generate an error for division by zeroIan Romanick2011-01-101-1/+6
| | | | | | | | | | | | | | | | | | | | When GCC encounters a division by zero in a preprocessor directive, it generates an error. Since the GLSL spec says that the GLSL preprocessor behaves like the C preprocessor, we should generate that same error. It's worth noting that I cannot find any text in the C99 spec that says this should be an error. The only text that I can find is line 5 on page 82 (section 6.5.5 Multiplicative Opertors), which says, "The result of the / operator is the quotient from the division of the first operand by the second; the result of the % operator is the remainder. In both operations, if the value of the second operand is zero, the behavior is undefined." Fixes 093-divide-by-zero.c test and bugzilla #32831. NOTE: This is a candidate for the 7.9 and 7.10 branches.
* glcpp: Regenerate glcpp-parse.cChad Versace2011-01-101-0/+21
|
* glcpp: Fix segfault when validating macro redefinitionsChad Versace2011-01-101-0/+21
| | | | | | | | In _token_list_equal_ignoring_space(token_list_t*, token_list_t*), add a guard that prevents dereferncing a null token list. This fixes test src/glsl/glcpp/tests/092-redefine-macro-error-2.c and Bugzilla #32695.
* i965: Use a new miptree to avoid software fallbacks due to drawing offset.Eric Anholt2011-01-102-40/+67
| | | | | | | | | When attaching a small mipmap level to an FBO, the original gen4 didn't have the bits to support rendering to it. Instead of falling back, just blit it to a new little miptree just for it, and let it get revalidated into the stack later just like any other new teximage. Bug #30365.
* intel: Drop the speculatively-use-firstImage-mt in validation.Eric Anholt2011-01-101-17/+0
| | | | | It's been replaced by just setting texObj->mt to image->mt at TexImage time.
* intel: Don't relayout the texture on maxlevel change.Eric Anholt2011-01-101-7/+6
| | | | | | | This avoids relayouts in the common case of glGenerateMipmap() or people doing similar things. Bug #30366.
* intel: When making a new teximage miptree, make a full one.Eric Anholt2011-01-101-79/+68
| | | | | | | | If we hit this path, we're level 1+ and the base level got allocated as a single level instead of a full tree (so we don't match intelObj->mt). This tries to recover from that so that we end up with 2 allocations and 1 validation blit (old -> new) instead of allocations equal to number of levels and levels - 1 blits.
* meta: Don't tweak BaseLevel when doing glGenerateMipmap().Eric Anholt2011-01-101-4/+1
| | | | | | | We don't need to worry about levels other than MaxLevel because we're minifying -- the lower levels (higher detail) won't contribute to the result. By changing BaseLevel, we forced hardware that doesn't support BaseLevel != 0 to relayout the texture object.