summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* nvfx: rework state_fb code to get rid of render tempsLucas Stach2012-01-154-146/+72
| | | | | | | | | | | | | | | | | This commit rewrites a lot of the state_fb code to support rendering to targets not aligned to 64 byte. This allows us to drop the render temporaries as unaligned targets are the only use-case where they are really needed. The temporaries code was used for a lot of things more, but apparently those also work without temps. There is one regression in piglit fbo-clear-formats, but this will be fixed with the use of real hardware clears and doesn't matter in practice as no real application tries to scissor clear a 2x2 pixel render target. Signed-off-by: Lucas Stach <[email protected]>
* nvfx: say no to stream output capsLucas Stach2012-01-151-1/+5
| | | | | | | nvfx doesn't support any kind of stream out, so silence the unused cap warnings. Signed-off-by: Lucas Stach <[email protected]>
* gallium: improve the pipe_stream_output_info struct (v2)Marek Olšák2012-01-1512-140/+50
| | | | | | | | | | | | | | | | | | | | | There are 3 changes: 1) stride is specified for each buffer, not just one, so that drivers don't have to derive it from the outputs 2) new per-output property dst_offset, which specifies the offset into the buffer in dwords where the output should be stored, so that drivers don't have to compute the offsets manually; this will also be useful for gl_SkipComponents from ARB_transform_feedback3 3) register_mask is removed, instead, there is start_component and num_components; register_mask with non-consecutive 1s doesn't make much sense (some hardware cannot do packing of components) Christoph Bumiller: fixed nvc0. v2: resolve merge conflicts in Draw and clean it up
* r600g: add r600 version of UINT_TO_FLT conversion.Dave Airlie2012-01-141-0/+1
| | | | Signed-off-by: Dave Airlie <[email protected]>
* r600g: fix r600 f2i to be trans only emitted.Dave Airlie2012-01-141-1/+1
| | | | | | This fixes a lot of asserts about the trans unit being used already. Signed-off-by: Dave Airlie <[email protected]>
* r600g: add missing case for uint->flt conversion.Dave Airlie2012-01-141-0/+1
| | | | | | fixes some piglits like vs-decrement-uint.shader_test Signed-off-by: Dave Airlie <[email protected]>
* r600g: add missing r32 uint/sint fbo formats.Dave Airlie2012-01-142-0/+8
| | | | | | Fixes the GL3 required formats test. Signed-off-by: Dave Airlie <[email protected]>
* r600g: add support for virtual address space on cayman v11Jerome Glisse2012-01-1313-48/+370
| | | | | | | | | | | | | | | | | | | | | | | | | Virtual address space put the userspace in charge of their GPU address space. It's up to userspace to bind bo into the virtual address space. Command stream can them be executed using the IB_VM chunck. This patch add support for this configuration. It doesn't remove the 64K ib size limit thought this limit can be extanded up to 1M for IB_VM chunk. v2: fix rendering v3: fix rendering when using index buffer v4: make vm conditional on kernel support add basic va management v5: catch the case when we already have va for a bo v6: agd5f: update on top of ioctl changes v7: agd5f: further ioctl updates v8: indentation cleanup + fix non cayman v9: rebase against lastest mesa + improvement from Marek & Michel v10: fix cut/paste bug v11: don't rely on updated radeon_drm.h Signed-off-by: Jerome Glisse <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
* gallivm: Allow target specific intrinsics in lp_declare_intrinsic()Tom Stellard2012-01-131-7/+0
| | | | | Target specific intrinsics are also prefixed with llvm, so this assert was preventing us from using them.
* nv50/ir: make use of TGSI_INTERPOLATE_COLORChristoph Bumiller2012-01-123-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.
* nvc0: fix submission of VertexID and EdgeFlag in push modeChristoph Bumiller2012-01-129-21/+84
| | | | NOTE: This is a candidate for the 8.0 branch.
* mesa/gallium: add FFS_DEFINED to protect ffs() from multiple definitionsBrian Paul2012-01-121-0/+5
| | | | | | | | We include both imports.h and u_math.h in the state tracker. This leads to multiple, conflicting definitions of ffs() with MSVC. Use FFS_DEFINED to skip the ffs() in u_math.h. Reviewed-by: José Fonseca <[email protected]>
* sofpipe: remove extraneous semicolonBrian Paul2012-01-121-1/+1
|
* r600g: don't advertise integers yet on r600.Dave Airlie2012-01-121-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]>
* 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]>
* softpipe: bump max texture array layers to 256.Dave Airlie2012-01-121-1/+1
| | | | | | This as per GL3 specification. Signed-off-by: Dave Airlie <[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]>
* svga: Drop execbuf throttlingJakob Bornecrantz2012-01-105-36/+1
| | | | | | | | This code isn't used anymore in preference for DRI2 client side swap buffers throttling or throttling done inside the xa or xorg driver. Signed-off-by: Jakob Bornecrantz <[email protected]> Reviewed-by Brian Paul <[email protected]>
* svga: Add somewhat sensible fallback and silence warningJakob Bornecrantz2012-01-101-3/+2
| | | | | Signed-off-by: Jakob Bornecrantz <[email protected]> Reviewed-by Brian Paul <[email protected]>
* svga: Silence warningJakob Bornecrantz2012-01-101-7/+0
| | | | | Signed-off-by: Jakob Bornecrantz <[email protected]> Reviewed-by Brian Paul <[email protected]>
* svga: Silence warningJakob Bornecrantz2012-01-101-0/+3
| | | | | Signed-off-by: Jakob Bornecrantz <[email protected]> Reviewed-by Brian Paul <[email protected]>
* svga: Silence warningJakob Bornecrantz2012-01-101-0/+1
| | | | | Signed-off-by: Jakob Bornecrantz <[email protected]> Reviewed-by Brian Paul <[email protected]>
* svga: IgnoresJakob Bornecrantz2012-01-101-0/+2
| | | | | Signed-off-by: Jakob Bornecrantz <[email protected]> Reviewed-by Brian Paul <[email protected]>