summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* r600g: implement seamless_cube_map on r600-r700Marek Olšák2011-06-203-7/+46
| | | | | st/mesa guarantees that all bound sampler states have the same value in seamless_cube_map.
* r600g: remove some magic numbersMarek Olšák2011-06-192-2/+13
|
* u_vbuf_mgr: make u_vbuf_mgr_draw_begin return flags in a bitmaskMarek Olšák2011-06-194-36/+36
|
* r600g: fix warning: assignment discards qualifiers from pointer target typeMarek Olšák2011-06-191-1/+2
|
* u_vbuf_mgr: fix uploading if format size is greater than strideMarek Olšák2011-06-191-0/+5
|
* i965: Enable extension GL_ARB_shader_texture_lod.Kenneth Graunke2011-06-181-0/+1
| | | | | | | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=36987 Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Add support for TXD with shadow comparisons.Kenneth Graunke2011-06-185-7/+76
| | | | | | | | | | | | | | Our hardware doesn't have a sample_d_c message, so we have to do a regular sample_d and emit instructions to manually perform the comparison. This requires a state dependent recompile whenever the sampler's compare mode or function change. This adds the per-sampler comparison functions to brw_wm_prog_key, but only sets them when the sampler's compare mode is GL_COMPARE_R_TO_TEXTURE (i.e. only for shadow sampling). Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Refactor texture result swizzling into a helper function.Kenneth Graunke2011-06-182-9/+21
| | | | | | | The next patch will add a few additional uses. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Move sampler fetch to the top of the ir_texture visit function.Kenneth Graunke2011-06-181-6/+3
| | | | | | | | This makes it available earlier, which will soon be necessary. (Separating code motion from actual changes.) Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Add support for non-shadow textureGrad (TXD) on gen4.Kenneth Graunke2011-06-182-2/+39
| | | | | Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Add support for non-shadow textureGrad (TXD) on gen5/6.Kenneth Graunke2011-06-181-1/+31
| | | | | Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Add support for non-shadow textureGrad (TXD) on Ivybridge.Kenneth Graunke2011-06-182-10/+43
| | | | | | | | | | This is somewhat ugly, but I couldn't think of a nicer way to handle the interleaved coordinate/derivative parameter loading. Ironlake and Sandybridge will still hit an assertion in visit(). Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Check for compilation failure and bail before optimizing.Kenneth Graunke2011-06-181-0/+2
| | | | | | | | | | | | Prior to this patch, it would attempt to optimize and allocate registers for the program even if it failed to compile. This seems wasteful. More importantly, the "message length > 11" failure seems to choke the instruction scheduler, making it somehow use an undefined value and segmentation fault. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965: Use state streaming on programs, and state base address on gen5+.Eric Anholt2011-06-1826-298/+277
| | | | | | | | | | There will be a little bit of thrashing of the program cache BO as the cache warms up, but once the application is in steady state, this reduces relocations on gen5 and later. On my T420 laptop, cairogl firefox-talos-gfx performance improves 2.6% +/- 1.3% (n=6). No statistically significant performance difference on nexuiz (n=5).
* i965: Only flag the new-batch related state as dirty at new batch time.Eric Anholt2011-06-181-5/+1
| | | | | | This was debug code from the initial import of the driver. No statistically significant performance difference on cairo-gl or nexuiz (n=6).
* mesa: Fix render-to-texture regression.Eric Anholt2011-06-181-2/+2
| | | | | Accidentally introduced in fc8c4a3a7b92a1134cd3a9312063abba9e14b0fe. Fixes fbo-drawbuffers-maxtargets and friends.
* mesa: Flag _NEW_BUFFERS when unbinding an attachment on glDeleteTextures.Eric Anholt2011-06-181-0/+2
| | | | | | | | | | | The _ColorDrawBuffers[] wouldn't get updated despite us having updated what it depends on (Attachments[]->Renderbuffer). Other callers of _mesa_remove_attachment are already flagging _NEW_BUFFERS for other reasons. The specific bug report that led to this fix (and the fbo-finish-deleted testcase) was fixed by 23b6f9606dc247488835745668b3686218612536, though. Reviewed-by: Brian Paul <[email protected]>
* i965: Don't try to continue space before the start of a VBO.Eric Anholt2011-06-181-0/+2
| | | | | | | | | | | This loop is trying to see if all the buffers to be uploaded happen to be the same increment from the start of the 3DSTATE_VERTEX_BUFFERS currently loaded in the hardware. However, we might be at a smaller offset than the previous set of VERTEX_BUFFERS, so we can't reuse because that packet made the first entry be its starting offset (you can't access outside the given bounds). Fixes piglit ARB_vertex_buffer_object/elements-negative-offset.
* i965: Add missing state flag for vertex elements on current VS program.Eric Anholt2011-06-181-1/+2
| | | | Fixes a missing 3DSTATE_VERTEX_ELEMENTS on topogun.trace.
* r300g: rename AOS -> VARRAYSMarek Olšák2011-06-181-17/+17
|
* r300g: fix handling PREP_* optionsMarek Olšák2011-06-181-31/+32
| | | | | | This should fix rendering >65532 vertices using draw_arrays on r300-r400. NOTE: This is a candidate for the 7.10 branch.
* r600g: fix LIT to handle src==dst properlyVadim Girlin2011-06-181-1/+3
| | | | | | | | | | | | | | Current LIT implementation uses dst components for storing temp results, possibly overwriting still needed values (depends on the swizzles). This patch uses temp reg for one of such cases (found in etqw) and fixes "LIT R.z, R.xyzz". Tested on evergreen. Fixes some etqw-demo rendering glitches when "Lighting" is set to "High" in the settings. Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* r600g: fix RSQ to use abs value of operand on evergreenVadim Girlin2011-06-181-1/+1
| | | | | | | fixes https://bugs.freedesktop.org/show_bug.cgi?id=36917 Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* r600g: fix source box in r600_resource_copy_regionVadim Girlin2011-06-181-2/+11
| | | | | | | | | Source box needs to be adjusted for blitting from compressed formats. fixes https://bugs.freedesktop.org/show_bug.cgi?id=35434 Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* mesa: allow depth texture arraysBrian Paul2011-06-171-1/+5
| | | | | | | The GL_EXT_texture_array spec allows this (Section 3.8.1). Fixes failing piglit fbo-depth-array test. NOTE: This is a candidate for the 7.10 branch.
* st/mesa: remove unneeded test for GL_TRUEBrian Paul2011-06-171-1/+1
|
* st/mesa: remove redundant _mesa_is_depth_format() callBrian Paul2011-06-171-2/+1
| | | | | The _mesa_is_depth_or_stencil_format() call covers all depth format cases too.
* st/mesa: remove trailing whitespace in st_format.cBrian Paul2011-06-171-2/+2
|
* st/mesa: move comment for ChooseTextureFormat() to right placeBrian Paul2011-06-171-3/+4
|
* apple: Use apple_cgl_get_dl_handle() rather than opening a new handleJeremy Huddleston2011-06-171-22/+2
| | | | Signed-off-by: Jeremy Huddleston <[email protected]>
* scons: Correct glapi USE_xxx_ASM flags.José Fonseca2011-06-171-11/+4
|
* glx: implement drawable refcounting.Stéphane Marchesin2011-06-176-21/+37
| | | | | | | | | | | | The current dri context unbind logic will leak drawables until the process dies (they will then get released by the GEM code). There are two ways to fix this: either always call driReleaseDrawables every time we unbind a context (but that costs us round trips to the X server at getbuffers() time) or implement proper drawable refcounting. This patch implements the latter. Signed-off-by: Antoine Labour <[email protected]> Signed-off-by: Stéphane Marchesin <[email protected]> Reviewed-by: Adam Jackson <[email protected]>
* scons: make embedding orthogonal to the platformJosé Fonseca2011-06-1710-62/+49
| | | | To enable embedding in platforms other than linux.
* mesa: use helper functions to distinguish between user/winsys FBOsBrian Paul2011-06-161-18/+42
| | | | And replace IS_CUBE_FACE() macro w/ inline function.
* mesa: refactor, create _mesa_update_draw_buffers() helperBrian Paul2011-06-163-11/+27
| | | | | Move this code out of _mesa_make_current() and put it into a helper function.
* mesa: updated comments in _make_current()Brian Paul2011-06-161-8/+5
|
* r600: fix SPI inputs setup on r600/r700Vadim Girlin2011-06-161-4/+9
| | | | | Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* intel: Fix typo in intel_offset_S8 commentsChad Versace2011-06-151-1/+1
| | | | Signed-off-by: Chad Versace <[email protected]>
* i965/gen5,6: Fix hang when emitting hiz buffer without stencil bufferChad Versace2011-06-151-18/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When emitting either a hiz or stencil buffer, the 'separate stencil enable' and 'hiz enable' bits are set in 3DSTATE_DEPTH_BUFFER. Therefore we must emit both 3DSTATE_HIER_DEPTH_BUFFER and 3DSTATE_STENCIL_BUFFER. Even if there is no stencil buffer, 3DSTATE_STENCIL_BUFFER must be emitted; failure to do so causes a hang on gen5 and a stall on gen6. This also fixes a silly, obvious segfault that occured when a hiz buffer xor separate stencil buffer existed. Fixes the piglit tests below on Gen5 when hiz and separate stencil are manually enabled: fbo-alphatest-nocolor fbo-depth-sample-compare fbo hiz-depth-read-fbo-d24-s0 hiz-depth-stencil-test-fbo-d24-s0 hiz-depth-test-fbo-d24-s0 hiz-stencil-read-fbo-d0-s8 hiz-stencil-test-fbo-d0-s8 fbo-missing-attachment-clear fbo-clear-formats fbo-depth-* Changes piglit test result from crash to fail: hiz-depth-stencil-test-fbo-d0-s8 Signed-off-by: Chad Versace <[email protected]>
* r600g: disable render condition for some blitter operationsMarek Olšák2011-06-153-6/+34
|
* r600g: fix TXD src regs needing fetching.Mike Kaplinskiy2011-06-151-46/+50
| | | | | | | | | [airlied: final chunk of Mike's patch from bug 37476 this uses a loop to emit the GRADIENTS and does a check to see if we need to fetch to a temporary register. It also increases the context src gpr to 4 which is needed here.] Signed-off-by: Dave Airlie <[email protected]>
* r600g: use inlines for some common tex instr setup code.Mike Kaplinskiy2011-06-151-11/+24
| | | | | | [airlied: taken from Mike's patch in bug 37476] Signed-off-by: Dave Airlie <[email protected]>
* glsl/builtins: Actually implement int/ivec variants of abs().Kenneth Graunke2011-06-141-0/+20
| | | | | | | Signed-off-by: Kenneth Graunke <[email protected]> NOTE: This is a candidate for stable release branches (and don't forget to re-run "make builtins" after cherry-picking.)
* r600g: fix TXD when shadowing is enabled.Mike Kaplinskiy2011-06-152-6/+17
| | | | | | | | Mike had actually done a lot of the TXD support in a patch in bug 37476 which I see now, I'll add the bits of his work that I didn't think to add to my work. Signed-off-by: Dave Airlie <[email protected]>
* r600g: add TXD support.Dave Airlie2011-06-154-6/+64
| | | | | | | | This at least passes the piglit arb_shader_texture_lod-texgrad test, the AMD shader analyzer seems to multiply the V component by an unspecified constant value no idea why. Signed-off-by: Dave Airlie <[email protected]>
* i915g: add const qualifier to silence warningBrian Paul2011-06-141-1/+1
|
* r600g: also set TILE_MODE of the base levelMarek Olšák2011-06-151-1/+1
|
* r600g: force OpenGL's BASE_LEVEL behavior on r600-r700Marek Olšák2011-06-151-10/+16
| | | | | | | | | | This sets the base level as the zero level, which fixes piglit/texturing/tex-miplevel-selection*. The r600 hardware ignores the BASE_LEVEL field in some cases, so we can't use it. Evergreen might need this too.
* glsl/generate_builtins.py: Remove regexp to kill pointer addresses.Kenneth Graunke2011-06-141-4/+0
| | | | | | | | | Commit 56ef62d9885f805bbfb2243dc860ff425d5b4d3b "glsl: Generate readable unique names at print time." changed ir_print_visitor to not generate @0x1234567 suffixes except where necessary. So there's no need to manually remove them. Signed-off-by: Kenneth Graunke <[email protected]>
* glapi: _glapi_create_table_from_handle: Set missing pointers to NoOp rather ↵Jeremy Huddleston2011-06-142-2586/+2666
| | | | | | | | | | | | | | than NULL This change to _glapi_create_table_from_handle causes it to fill the dispatch table with NoOps for unimplemented functionality. This matches what is done in indirect_init.c and also allows us to enable logging (when built with -DDEBUG and the MESA_DEBUG or LIBGL_DEBUG environment variables are set) to catch cases where clients are trying to use these unimplemented extentions. Additionally, this fixes some gcc -pedantic warnings. Signed-off-by: Jeremy Huddleston <[email protected]>