aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
Commit message (Collapse)AuthorAgeFilesLines
* radeonsi/compute: Fix LDS size calculationTom Stellard2013-11-231-1/+16
| | | | | | | We need to include the number of LDS bytes allocated by the state tracker. CC: "10.0" <[email protected]> (cherry picked from commit 1bdb99330ac68003a9ee6c963f46bddb03b9073d)
* r600g/compute: Add a work-around for flushing issues on CaymanTom Stellard2013-11-233-1/+17
| | | | | | | | | | Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Marek Olšák <[email protected]> https://bugs.freedesktop.org/show_bug.cgi?id=69321 CC: "10.0" <[email protected]> (cherry picked from commit 7a30cd7085b6879d3858f5c1a6945fbe30c818a6)
* r600g/compute: Fix handling of global buffers in r600_resource_copy_region()Tom Stellard2013-11-231-1/+36
| | | | | | | | | | | | Global buffers do not have an associate cs_buf handle, so we can't copy them using r600_copy_buffer() https://bugs.freedesktop.org/show_bug.cgi?id=64226 Reviewed-by: Marek Ol????k <[email protected]> CC: "10.0" <[email protected]> (cherry picked from commit 1b9511d7ce70a9f9cadd0c03bd0c916b88b6dd43)
* r600g/sb: work around hw issues with stack on eg/cmVadim Girlin2013-11-235-44/+123
| | | | | | | | | v2: make it actually work, improve condition Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68503 Cc: "10.0" <[email protected]> Signed-off-by: Vadim Girlin <[email protected]> (cherry picked from commit 4cb04aa0dfaf8c23e312fa49778e637e59410727)
* radeon/llvm: Free elf_buffer after useAaron Watry2013-11-151-0/+1
| | | | | | | | | Prevents a memory leak. v2: Remove null check CC: "10.0" <[email protected]> (cherry picked from commit 2be85e2492b6ad7e04884525904a7ec22cde0ddc)
* r600/llvm: Free binary.code/binary.config in r600_llvm_compileAaron Watry2013-11-151-0/+3
| | | | | | | | | | | | radeon_llvm_compile allocates memory for binary.code, binary.config, or neither depending on what's being done. We need to make sure to free that memory after it's no longer needed. v2: Don't bother checking for null before FREE() CC: "10.0" <[email protected]> (cherry picked from commit 01f3622c740173d4001eb421b74d4d60a0c7fd12)
* r600/llvm: initialize radeon_llvm_binaryAaron Watry2013-11-151-0/+1
| | | | | | | | | | | | | | use memset to initialize to 0's... otherwise code_size and config_size could be uninitialized when read later in this method. It's also hard to do NULL checks on uninitialized pointers. Reviewed-by: Tom Stellard <[email protected]> v2: Fix indentation CC: "10.0" <[email protected]> (cherry picked from commit dd73b99420de17651001e0a4d937f1f66fbef14c)
* svga: mark dest image as defined in svga_surface_copy()Brian Paul2013-11-151-0/+2
| | | | | | | | | | | | | After we blit/copy to a dest texture image we need to mark it as being defined. This fixes broken mipmap generation for quite a few texture formats. Mipgen involves making texture views and svga_texture_view_surface() skips texture images that are undefined. Cc: "10.0" <[email protected]> Reviewed-by: José Fonseca <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]> (cherry picked from commit 3969330b47c5b7f7843f356db0a10962553339a6)
* svga: do primitive trimming in translate_indices()Brian Paul2013-11-151-3/+12
| | | | | | | | | | | | | | | The index translation code expects the number of indexes to be consistent with the primitive type (ex: a multiple of 3 for PIPE_PRIM_TRIANGLES). If it's not, we can write out of bounds in the destination buffer. Fixes failed assertions in the pipebuffer debug code found with Piglit primitive-restart-draw-mode test. Cc: "10.0" <[email protected]> Reviewed-by: José Fonseca <[email protected]> (cherry picked from commit 79984b9928d4444665ce617a1e4551e53d415bd4)
* radeonsi/compute: Dispose of LLVM module after compiling kernelsAaron Watry2013-11-151-0/+1
| | | | | | | | | v2: Fix indentation Reviewed-by: Tom Stellard <[email protected]> CC: "10.0" <[email protected]> (cherry picked from commit 4c6ac9e61452ffc49f8e360fc879deec8e04bbb5)
* radeonsi/compute: Free program and program.kernels on shutdownAaron Watry2013-11-151-1/+15
| | | | | | | | | v2: Fix indentation Reviewed-by: Tom Stellard <[email protected]> CC: "10.0" <[email protected]> (cherry picked from commit 35dad4a1e235b2bf7fb3ecdb82aed0214db69a35)
* radeon/llvm: Free created llvm memory bufferAaron Watry2013-11-151-0/+1
| | | | | | | | | v2: Fix indentation Reviewed-by: Tom Stellard <[email protected]> CC: "10.0" <[email protected]> (cherry picked from commit d41b10f811a89c76248f195a6b4ade62322b8c3c)
* radeon/llvm: Free libelf resourcesAaron Watry2013-11-151-0/+3
| | | | | | | | | v2: Fix indentation Reviewed-by: Tom Stellard <[email protected]> CC: "10.0" <[email protected]> (cherry picked from commit a2b93da84bda2b92108cf3b9c253fec114b69dc2)
* radeon/llvm: fix spelling errorAaron Watry2013-11-151-1/+1
| | | | | | | Reviewed-by: Tom Stellard <[email protected]> CC: "10.0" <[email protected]> (cherry picked from commit df482fe02f6732fb6fe7ae0a509b3c66e655bd5b)
* nouveau/video: mark bitstream-level acceleration as unsupportedIlia Mirkin2013-11-151-2/+2
| | | | | | | | | | | Adding a vl_mpeg-based helper didn't seem to work, as it produced data that the card couldn't handle. (And I didn't investigate further.) This makes the decoding functionality only accessible via XvMC and avoids crashes when attempting to use VDPAU. Signed-off-by: Ilia Mirkin <[email protected]> Cc: "10.0" <[email protected]> (cherry picked from commit 08122e151a511236bccf7ab94efa4278ea3b3b6c)
* nouveau/video: don't try on nv3xIlia Mirkin2013-11-151-2/+2
| | | | | | | | | It doesn't work, I don't know why, but no point in hanging people's displays until it gets figured out. Signed-off-by: Ilia Mirkin <[email protected]> Cc: "10.0" <[email protected]> (cherry picked from commit e8d5d3409c73329dba8678b52a53acf5735f04b1)
* radeonsi/compute: Add Sea Islands supportTom Stellard2013-11-151-3/+12
| | | | (cherry picked from commit a859131003fc79094cf99c92cc6a11a0f0c659f7)
* r600g: Add support for PIPE_FORMAT_R11G11B10_FLOAT vertex elementsFredrik Höglund2013-11-072-0/+9
| | | | | Reviewed-by: Dave Airlie <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* svga: always return 4 for PIPE_MAX_COLOR_BUFSBrian Paul2013-11-071-5/+4
| | | | | | Even if the query returns 8, only 4 really work. Reviewed-by: José Fonseca <[email protected]>
* svga: return true for the PIPE_CAP_SM3 queryBrian Paul2013-11-071-1/+3
| | | | | | | | | | This just tells the state tracker to turn on the GL_ARB_shader_texture_lod extension. This simply allows the GLSL compiler to emit TXL and TXD instructions for both vertex and fragment shaders. We already support these opcodes in the svga driver. Though, the shadow2DGrad() Piglit tests are failing. Reviewed-by: José Fonseca <[email protected]>
* draw,llvmpipe,util: add depth bias calculation for arb_depth_buffer_floatMatthew McClure2013-11-077-37/+102
| | | | | | | | | | | | | | | With this patch, the llvmpipe and draw modules will calculate the depth bias according to floating point depth buffer semantics described in the arb_depth_buffer_float specification, when the driver has a z buffer bound with a format type of UTIL_FORMAT_TYPE_FLOAT. By default, the driver will use the existing UNORM calculation for depth bias. A new function, draw_set_zs_format, was added to calculate the Minimum Resolvable Depth value and floating point depth sense for the draw module. Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* r600/compute: silence unused var warningFabio Pedretti2013-11-061-1/+0
| | | | Reviewed-by: Marek Olšák <[email protected]>
* r600/llvm: Fix isampleBuffer on preEGVincent Lejeune2013-11-061-1/+14
|
* r600/llvm: Fix texbuf for pre EG genVincent Lejeune2013-11-061-0/+29
|
* r600g: properly unbind a DSA state being deleted in r600_delete_dsa_stateMarek Olšák2013-11-042-2/+9
| | | | Tested-by: Christian König <[email protected]>
* radeonsi: implement ARB_vertex_type_2_10_10_10_revMarek Olšák2013-11-041-0/+7
|
* r600g,radeonsi: properly expose texture buffer formatsMarek Olšák2013-11-043-9/+24
| | | | This exposes GL_ARB_texture_buffer_object_rgb32.
* radeonsi: implement texture buffer objectsMarek Olšák2013-11-043-54/+137
| | | | GLSL 1.40 is done.
* radeonsi: report our border color behaviorMarek Olšák2013-11-041-1/+3
|
* radeonsi: bind a dummy constant buffer in place of NULL buffersMarek Olšák2013-11-043-0/+29
|
* radeonsi: implement uniform buffer objectsMarek Olšák2013-11-044-31/+41
|
* radeonsi: try to fix IA_MULTI_VGT_PARAM programmingMarek Olšák2013-11-043-2/+8
| | | | This doesn't make any difference on Bonaire, but it might help on Hawaii.
* freedreno/a3xx/texture: min/max lodRob Clark2013-11-011-5/+3
| | | | Signed-off-by: Rob Clark <[email protected]>
* freedreno/a3xx: update envytools headersRob Clark2013-11-014-8/+22
| | | | Signed-off-by: Rob Clark <[email protected]>
* freedreno/a3xx: fix VS out / FS in linkingRob Clark2013-11-013-7/+47
| | | | | | | | Actually link VS out / FS in based on semantic info, keeping in mind that position/pointsize can also be an input to the FS. This fixes a few fragment shaders which were using gl_Position. Signed-off-by: Rob Clark <[email protected]>
* freedreno/a3xx: allow num_samplers != num_texturesRob Clark2013-11-012-56/+55
| | | | Signed-off-by: Rob Clark <[email protected]>
* freedreno/a3xx/compiler: highp frag shaderRob Clark2013-11-014-12/+14
| | | | | | | | | | | | | | Fixes use of full-precision in fragment shader (ie. don't clobber r0.x since that can be used by future bary instructions for varying fetch). And makes use of full-precision the default in fragment shader (but can be overriden via FD_MESA_DEBUG=fraghalf). Seems like half precision is often not enough for texture coordinates. The blob compiler is clever enough to keep texture coords in full precision registers while using half precision for everything else. But we aren't quite that clever yet, so better to default to full precision. Signed-off-by: Rob Clark <[email protected]>
* freedreno/a3xx/compiler: relative addressing fixes.Rob Clark2013-11-011-28/+48
| | | | | | | Handle some relative addressing constraints: cannot handle const or relative in cat5 and src2 of cat3. Signed-off-by: Rob Clark <[email protected]>
* freedreno: we do actually support sqrtRob Clark2013-11-012-0/+8
| | | | Signed-off-by: Rob Clark <[email protected]>
* radeonsi: Allow longer intrinsic namesKai Wasserbäch2013-10-301-1/+1
| | | | | | | | | | | Fixes a boat load of Piglit tests for me, which crashed like fdo#70913 before. Thanks to Michel Dänzer for the tip. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70913 Signed-off-by: Kai Wasserbäch <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* radeon/llvm: Specify the DataLayout when running optimizationsTom Stellard2013-10-301-0/+4
| | | | | Without DataLayout, a lot of optimization passes aren't run and the ones that are don't work as well.
* ilo: Fix out-of-tree build.Johannes Obermayr2013-10-301-1/+1
| | | | [olv: use $(srcdir) instead of $(top_srcdir)]
* freedreno: emulated unsupported primitive typesRob Clark2013-10-295-25/+74
| | | | | | | Use u_primconvert to convert unsupported primitives into supported primitive plus index buffer. Signed-off-by: Rob Clark <[email protected]>
* gallium/auxiliary/indices: add start paramRob Clark2013-10-292-2/+2
| | | | | | | Add 'start' parameter to generator/translator. Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* freedreno: update generated headersRob Clark2013-10-296-125/+238
| | | | | | pull in some fixes to draw-initiator/prim-type. Signed-off-by: Rob Clark <[email protected]>
* llvmpipe: fix bogus layer clamping in setupRoland Scheidegger2013-10-292-8/+25
| | | | | | | | | | | | | | | | | | | | | The layer coming from GS needs to be clamped (not sure if that's actually the correct error behavior but we need something) as the number can be higher than the amount of layers in the fb. However, this code was using the layer calculation from the scene, and this was actually calculated in lp_scene_begin_rasterization() hence too late (so setup was using the value from the _previous_ scene or just zero if it was the first scene). Since the value is used in both rasterization and setup, move calculation up to lp_scene_begin_binning() though it's a bit more inconvenient to calculate there. (Theoretically could move _all_ code which was in lp_scene_begin_rasterization() to there, because ever since we got rid of swizzled render/depth buffers our "map" functions preparing the fb data for render don't actually change the data in there at all, but it feels like it would be a hack.) v2: improve comments Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* util,llvmpipe: correctly set the minimum representable depth valueMatthew McClure2013-10-291-19/+12
| | | | | Reviewed-by: Roland Scheidegger <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* svga: reindent drawing codeBrian Paul2013-10-293-266/+199
|
* r600g/sb: fix value::is_fixed()Vadim Girlin2013-10-291-2/+2
| | | | | | | | | | | This prevents unnecessary (and wrong) register allocation in the scheduler for preloaded values in fixed registers. Fixes interpolation-mixed.shader_test on rv770 (and probably on all other pre-evergreen chips). Signed-off-by: Vadim Girlin <[email protected]> Tested-by: Andreas Boll <[email protected]>
* vl/h264: split fields into SPS/PPSChristian König2013-10-285-80/+79
| | | | | | Add alot of missing fields as well. Signed-off-by: Christian König <[email protected]>