summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* Complete ARGB8888 naming convention format renames missedScott Moreau2012-01-251-4/+3
| | | | (cherry picked from commit e0897009f8fe8100204038e37f5555966300383a)
* mesa: Make the register allocator allocation take a ralloc context.Eric Anholt2012-01-241-1/+1
| | | | | | | This fixes a memory leak on i965 context destruction. NOTE: This is a candidate for the 8.0 branch. (cherry picked from commit b972744c78e45928876ea781b9eeef09b3baf083)
* nvc0: fix some limit cap valuesChristoph Bumiller2012-01-241-9/+15
| | | | | NOTE: This is a candidate for the 8.0 branch. (cherry picked from commit ab69d584f923101fab05560b8e9ff97cf3cc2c5f)
* nv50/ir: make use of TGSI_INTERPOLATE_COLORChristoph Bumiller2012-01-243-10/+10
| | | | | | | | | Flat SHADE_MODEL still overrides any non-flat interpolation qualifier, but pulling that state out of the rasterizer cso isn't really worth the effort, is it ? NOTE: This is a candidate for the 8.0 branch. (cherry picked from commit af0ce1dba8219ff8628f1fa61cf93c11a77dab94)
* nvc0: fix submission of VertexID and EdgeFlag in push modeChristoph Bumiller2012-01-249-21/+84
| | | | | NOTE: This is a candidate for the 8.0 branch. (cherry picked from commit 7b6881932a71b36dd47f63200c9dbee8e2b9af4f)
* r600g: fix interpolation with clipvertexVadim Girlin2012-01-241-0/+3
| | | | | | Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 5a84cc4ebcc99fb029d5f855e8afa11fab09266a)
* r600g: fix VS fog exportVadim Girlin2012-01-231-0/+5
| | | | | | Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 13daa059c01d6dd05064e82cf67cba9cc5fe79db)
* r600g: fix typo in evergreen registerAlex Deucher2012-01-231-7/+6
| | | | | Signed-off-by: Alex Deucher <[email protected]> (cherry picked from commit 5e576efef2397e6748e0dc727d92d1064bf90efe)
* r600g: take into account kcache banks for bank swizzle checkVadim Girlin2012-01-231-2/+2
| | | | | | | | | | | Due to the changes for multiple kcache banks support, now we are assigning final SRCx_SEL values for kcache access at the later stage, when building the bytecode. So we need to take into account kcache banks to distinguish the constants with the same address but different bank index. Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 840a342cd0ac4a9937798a2137122387c0d3d7f6)
* r600g: implement clip vertex v2Vadim Girlin2012-01-2310-113/+196
| | | | | | | | | | | | | Clip planes are uploaded as a constant buffer and used by the vertex shader to produce corresponding clip distances for hw clipping. Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 54e8dcaad65cbe3603730414fd8d76ac53f89a86) Conflicts: src/gallium/drivers/r600/r600_state_common.c
* r600g: improve kcache line sets handling v2Vadim Girlin2012-01-234-86/+216
| | | | | | | | | | Add support for multiple kcache banks (constant buffers). Lock the required lines only. Allow up to 4 kcache line sets in the alu clause by using ALU_EXTENDED on eg+. Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit d649bf51ec787021f7872e2a4c09fb2188c0891b)
* r600g: implement clip distancesVadim Girlin2012-01-236-17/+111
| | | | | | Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 91d47296967ebfaf685f3870998ea0a1450ecf55)
* r600g: implement two-sided lighting (v3)Vadim Girlin2012-01-236-25/+135
| | | | | | | | | | v2: select the colors in the pixel shader v3: fix rs state creation for pre-evergreen Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 725a820b926575265e6790601a0defd9c30947dc)
* r600g: srgb mode is only valid on certain format types.Dave Airlie2012-01-231-0/+8
| | | | | | | | | | | | "If set, forces degamma on XYZ if format is FMT_8_8_8_8, FMT_BC1, FMT_BC2, or FMT_BC3" Don't claim support for sRGB on any other formts. This fixes glean texture_srgb. Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit a9d8809f16feb7f6d5d723f2afa2cfbea60cae55)
* r600g: make INTERP_LOAD_P0 vector-onlyVadim Girlin2012-01-231-0/+1
| | | | | | Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 8b1471f8ca2933a5a4f55be9d0a4db83bdee0435)
* r600g: fixup AR handling (v5)Dave Airlie2012-01-234-7/+106
| | | | | | | | | | | | | | | | | | | | | | | | So it appears R600s (except rv670) do AR handling different using a different opcode. This patch fixes up r600g to work properly on r600. This fixes ~100 piglit tests here (in GLSL1.30 mode) on rv610. v3: add index_mode as per the docs. This still fails any dst relative tests for some reason I can't quite see yet, but it passes a lot more tests than without. v4: add a nop after dst.rel this could be improved using a second pass, where we only insert nops if two instructions are sure to collide. The docs say r600, rv610, rv630 needs this, and not rv670, rs780, rs880, need AMD to confirm rv620, rv635. v5: add is_nop_inst. NOTE: This is a candidate for stable branches. Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit c96b9834032952492efbd2d1f5511fe225704918)
* r600g: add workaround for original R600 PS setupAlex Deucher2012-01-231-2/+7
| | | | | | | | | | The original R600 requires the UNCACHED_FIRST_INST bit to be set in the PS. Signed-off-by: Alex Deucher <[email protected]> Note: this is candidate for the stable branches. (cherry picked from commit 46ce25722b364ae7fa20b61e60eff4be5ad051d3)
* r600g: add missing r32 uint/sint fbo formats.Dave Airlie2012-01-232-0/+8
| | | | | | | Fixes the GL3 required formats test. Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 5250bd00c00ac8470320f4fae1d74425132f2083)
* sofpipe: remove extraneous semicolonBrian Paul2012-01-131-1/+1
| | | | (cherry picked from commit 0c57323de8bcfb5932e14a88ef9554059fc3be72)
* softpipe: bump max texture array layers to 256.Dave Airlie2012-01-131-1/+1
| | | | | | This as per GL3 specification. Signed-off-by: Dave Airlie <[email protected]>
* r600g: don't advertise integers yet on r600.Dave Airlie2012-01-131-2/+0
| | | | | | | | | Still some work to be done before this is finished. This is a candidate for 8.0 branch. Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 3e044bcc4b2fcf9418f5a8fb682c8fab3bc454e9)
* st/xa: Bump version to 1.0.0 according to the READMEThomas Hellstrom2012-01-122-4/+4
| | | | | Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]>
* svga: Fix user clip planes.José Fonseca2012-01-122-4/+3
| | | | | | | | Dirty flags also need to be updated in face of recent interface change. Fixes regression in compiz. Reviewed-by: Brian Paul <[email protected]>
* gallium/svga: Pass the SVGA3D_SURFACE_HINT_RENDERTARGET flag to the deviceThomas Hellstrom2012-01-121-3/+6
| | | | | | | | Some hardware versions rely on it to render correctly. Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: José Fonseca <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]>
* rbug: Silence warningJakob Bornecrantz2012-01-111-1/+2
| | | | | Signed-off-by: Jakob Bornecrantz <[email protected]> Reviewed-by Brian Paul <[email protected]>
* svga: don't reference count svga_sampler_view's textureBrian Paul2012-01-111-2/+12
| | | | | | | | | | | | | | | | svga_sampler_view contains a pointer to a pipe_resource (base class of svga_texture) and svga_texture contains a pointer to an svga_sampler_view. This circular dependency prevented the objects from ever being freed when they pointed to each other. Make the svga_sampler_view::texture pointer a "weak reference" (no reference counting) to break the dependency. This is safe to do because the pipe_resource/texture always has a longer lifespan than the sampler view so when svga_sampler_view stops referencing the texture, the texture's refcount never hits zero. Fixes a memory leak seen with google earth and other apps. Reviewed-by: Jakob Bornecrantz <[email protected]>
* st/wgl: Return NULL for NULL HDCs in wglGetExtensionsStringARB.José Fonseca2012-01-111-1/+3
| | | | | | | WGL_ARB_extensions_string states that wglGetExtensionsStringARB should return NULL for invalid HDCs. And some applications rely on it. Reviewed-By: "Keith Whitwell" <[email protected]>
* llvmpipe: disable native integersDave Airlie2012-01-111-1/+8
| | | | | | llvmpipe shouldn't be reporting native integer support. Signed-off-by: Dave Airlie <[email protected]>
* st/glx/xlib: call register_with_display() in glXChooseFBConfig()Brian Paul2012-01-111-0/+3
| | | | | | | | | This is the same fix as the previous commit, except it's for the gallium glx/xlib state tracker. NOTE: This is a candidate for the 7.11 branch. Reviewed-by: Adam Jackson <[email protected]>
* nv50/ir: handle TGSI_OPCODE_ISSGChristoph Bumiller2012-01-111-3/+8
|
* nv50/ir: handle TGSI_TEXTURE_SHADOWCUBEChristoph Bumiller2012-01-111-0/+1
|
* nv50,nvc0: zero out program struct on program_destroyChristoph Bumiller2012-01-112-3/+13
| | | | | | | Prevent any state from carrying over to a new translation in cases where we assume that data is still zero from initial calloc (these would require us to do individual zeroing before translation which would be more code).
* wayland-drm: Drop the non-premul formats, use format codes from drm_fourcc.hKristian Høgsberg2012-01-115-32/+16
|
* draw: Store the new pre_clip_pos member as well.José Fonseca2012-01-111-6/+16
| | | | | Again, not much testing nor peer review, but should be better than what's now.
* softpipe: route correct coordinates for shadow cube sampling.Dave Airlie2012-01-111-1/+2
| | | | | | This fixes the shadow cube map sampling on softpipe. Signed-off-by: Dave Airlie <[email protected]>
* tgsi: add TGSI_TEXTURE_SHADOWCUBEMAPDave Airlie2012-01-114-1/+6
| | | | | | | | This adds support for shadow cubemap texture sampling instructions. This is required for GL 3.0. Signed-off-by: Dave Airlie <[email protected]>
* llvmpipe: Update for TGSI_INTERPOLATE_COLOR.José Fonseca2012-01-111-7/+3
| | | | | Not thoroughly tested nor reviewed. But should at least prevent the assertion failure.
* tgsi: add ISSG supportDave Airlie2012-01-113-1/+17
| | | | | | | This adds integer version of SSG that GLSL 1.30 can produce. Signed-off-by: Dave Airlie <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* softpipe: enable clamping controlDave Airlie2012-01-112-3/+8
| | | | | | | | This enables fragment clamping in softpipe, it passes more tests than it did previously with no regressions, There are still a couple of failures in the SNORM types to investigate. Signed-off-by: Dave Airlie <[email protected]>
* softpipe: fix texel fetch swizzlesDave Airlie2012-01-111-26/+43
| | | | | | | This fixes a number of texelFetch swizzle tests, and consoldiates the swizzle handling in a new function. Signed-off-by: Dave Airlie <[email protected]>
* i915g: Fix bugs in the shader optimizer.Stéphane Marchesin2012-01-111-46/+80
|
* softpipe: fix llvm buildDave Airlie2012-01-113-3/+3
| | | | | | Thanks to Wubbbi on #dri-devel for pointing it out. Signed-off-by: Dave Airlie <[email protected]>
* draw: clipdistance support (v2)Dave Airlie2012-01-117-17/+79
| | | | | | | | | | Add support for using the clipdistance instead of clip plane. Passes all piglit clipdistance tests. v2: fixup some comments from Brian in review. Signed-off-by: Dave Airlie <[email protected]>
* tgsi_scan: add support to count number of output clip distancesDave Airlie2012-01-112-0/+5
| | | | | | Just add support to the scanner to count the number of clip distances. Signed-off-by: Dave Airlie <[email protected]>
* draw/softpipe: add clip vertex support. (v2)Dave Airlie2012-01-119-18/+58
| | | | | | | | | | | | | | | | softpipe always clipped using the position vector, however for unclipped vertices it stored the position in window coordinates, however when position and clipping are separated, we need to store the clip-space position and the clip-space vertex clip, so we can interpolate both separately. This means we have to take the clip space position and store it to use later. This allows softpipe to pass all the clip-vertex piglit tests. v2: fix llvm draw regression, the structure being passed into llvm needed updating, remove some hardcoded ints that should have been enums while there. Signed-off-by: Dave Airlie <[email protected]>
* tgsi/softpipe: add VertexID support.Dave Airlie2012-01-113-6/+19
| | | | | | | | | | This required changing the system value semantics, so we stored a system value per vertex, instance id is the only other system value we currently support, so I span it across the channels. This passes the 3 vertexid-* piglit tests + lots of instanceid tests. Signed-off-by: Dave Airlie <[email protected]>
* softpipe: allow softpipe to set shader params depending on runtime llvm (v3)Dave Airlie2012-01-113-9/+18
| | | | | | | | | | | | | If draw isn't using llvm we can support vertex texture and integers, These will be fixed up later, but for now allow this check to happen at run-time. v2: since 3e22c7a25321554a32fa6254485912fd53deff3a we can ask draw for a non-llvm context. Just track if ask and set the vars accordingly. This probably isn't perfect but should cover the cases we care about. v3: use debug option, restructure to store in screen, as suggested by Jakob. Signed-off-by: Dave Airlie <[email protected]>
* nv50: fix clip state validationChristoph Bumiller2012-01-101-3/+4
| | | | | | | | | | | | Don't create clip outputs if no clip planes are enabled. Move clip validation after program validation: we were calling linkage validation in case the VP needed rebuilding before the FP was validated. The vertex program needs to be built first because when ClipDistance is used we'll want to only enable those outputs that are also written.
* draw: remove unused 'so' variable in draw_pt_so_emit()Brian Paul2012-01-101-2/+0
|
* util: use memset() to initialize surface, sampler_view templatesBrian Paul2012-01-102-7/+16
| | | | | | | | | | | | These initialization functions weren't initializing all the fields so some had undefined values. The callers of these functions sometimes use a structure assignment to initialize new objects from these templates so we'd just propagate the undefined values. That made for some confusing info when debugging, plus it could lead to bugs. v2: fix surf pointer mix-up: "&surf" -> "surf" Jakob Bornecrantz <[email protected]>