summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* r600g: inline r600_blit_push_depth and use resource_copy_regionMarek Olšák2012-06-253-18/+11
| | | | | We are going to have a separate resource for depth texturing and transfers and this is just a transfer thing.
* r600g: split flushed depth texture creation and flushingMarek Olšák2012-06-255-16/+34
|
* llvmpipe: fix the LP_NO_RAST debug optionBrian Paul2012-06-254-24/+22
| | | | | | | | It was only no-oping the clear() function, not actual triangle rasterization. Move the no_rast field from lp_context down into lp_rasterizer so it's accessible where it's needed. Reviewed-by: Jose Fonseca <[email protected]>
* svga: init pointer to NULL to silence MSVC warningBrian Paul2012-06-221-1/+1
|
* clover: Add --with-clang-libdir option and verify CLANG_RESOURCE_DIRTom Stellard2012-06-221-1/+1
| | | | | | | | | | | | | | $CLANG_RESOURCE_DIR is the directory that contains all resources needed by clang to compile programs. When clover uses clang to compile kernels it needs to specify a resource dir, so that clang can find its internal headers (e.g. stddef.h). clang defines $CLANG_RESOURCE_DIR as $CLANG_LIBDIR/clang/$CLANG_VERSION This patch adds the --with-clang-libdir option in order to accommodate clang intalls to non-standard locations, and it also adds a check to the configure script to verify that $CLANG_RESOURCE_DIR/include contains the necessary header files.
* draw: Handle the case when there isn't a fragment shader.Olivier Galibert2012-06-221-10/+17
| | | | | Signed-off-by: Olivier Galibert <[email protected]> Signed-off-by: José Fonseca <[email protected]>
* r600g: Unify SURFACE_SYNC packet emission for 3D and computeTom Stellard2012-06-213-101/+30
| | | | | | Drop the compute specific evergreen_set_buffer_sync() function and instead use the r600_surface_sync_command atom for emitting SURFACE_SYNC packets.
* r600g: Enable reusing of compute stateTom Stellard2012-06-211-6/+9
|
* r600g: Fix reading vtx instruction offset from bytestreamTom Stellard2012-06-211-1/+1
|
* radeon/llvm: Turn on the BitExtract peephole optimizationTom Stellard2012-06-212-5/+32
| | | | | Thie BitExtract optimization folds a mask and shift operation together into a single instruction (BFE_UINT).
* radeon/llvm: Lower ROTL to BIT_ALIGNTom Stellard2012-06-216-1/+54
|
* radeon/llvm: Use the VLIW Scheduler for R600->NITom Stellard2012-06-2112-8/+75
| | | | | | | | | | | | | | | | | | | It's not optimal, but it's better than the register pressure scheduler that was previously being used. The VLIW scheduler currently ignores all the complicated instruction groups restrictions and just tries to fill the instruction groups with as many instructions as possible. Though, it does know enough not to put two trans only instructions in the same group. We are able to ignore the instruction group restrictions in the LLVM backend, because the finalizer in r600_asm.c will fix any illegal instruction groups the backend generates. Enabling the VLIW scheduler improved the run time for a sha1 compute shader by about 50%. I'm not sure what the impact will be for graphics shaders. I tested Lightsmark with the VLIW scheduler enabled and the framerate was about the same, but it might help apps that use really big shaders.
* automake: Convert src/gallium/Makefile to automake.Eric Anholt2012-06-213-12/+23
|
* make: Fold ASM_CFLAGS into DEFINES.Eric Anholt2012-06-213-3/+0
| | | | | | Every place that uses ASM_FLAGS already uses DEFINES. Not including it in DEFINES is just a way to screw up potential users, as I've done several times while working on the build system.
* nv50: fix buffer reuse issuesMarcin Slusarz2012-06-202-0/+18
| | | | | | | | | | 1) We need to insert a barrier between consecutive transform feedback calls. 2) VBO cache needs to be flushed when TFB output is used as VBO draw input. Fixes Piglit test EXT_transform_feedback/immediate-reuse. Thanks to Christoph Bumiller for pointing out bugs in previous versions of this patch.
* st/vdpau: use template size as default for source_rect.Christian König2012-06-201-3/+10
| | | | | | Fixes alignment problems with flash player. Signed-off-by: Christian König <[email protected]>
* st/vdpau: clear Cb&Cr with 0.5fChristian König2012-06-201-2/+5
| | | | | | That makes the output black in case of decoding errors. Signed-off-by: Christian König <[email protected]>
* llvmpipe: Add vertex id support.Olivier Galibert2012-06-194-19/+42
| | | | | Signed-off-by: Olivier Galibert <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* llvmpipe: Simplify and fix system variables fetch.Olivier Galibert2012-06-194-78/+33
| | | | | | | | | | | | | | The system array values concept doesn't really because it expects the system values to be fixed per call, which is wrong for gl_VertexID and iffy for gl_SampleID. So this patch does two things: - kill the array, have emit_fetch_system_value directly pick the values it needs (only gl_InstanceID for now, as the previous code) - correctly handle the expected type in emit_fetch_system_value Signed-off-by: Olivier Galibert <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* draw: fix flat shading and screen-space linear interpolation in clipperOlivier Galibert2012-06-191-31/+113
| | | | | | | | | | | | | | | This includes: - picking up correctly which attributes are flatshaded and which are noperspective - copying the flatshaded attributes when needed, including the non-built-in ones - correctly interpolating the noperspective attributes in screen-space instead than in a 3d-correct fashion. Signed-off-by: Olivier Galibert <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* softpipe: Offset is not to be applied to the layer parameter of array ↵Olivier Galibert2012-06-191-2/+2
| | | | | | | texture fetches. Signed-off-by: Olivier Galibert <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* r600g: fix z/stencil texture creation v2Jerome Glisse2012-06-191-15/+17
| | | | | | | | | | z or stencil texture should not be created with the z/stencil flags for surface creation as they are intended to be bound as texture. v2: remove broken code Signed-off-by: Jerome Glisse <[email protected]>
* radeon/llvm: Fix CR/LF in Processors.tdTörök Edwin2012-06-191-17/+17
| | | | Signed-off-by: Tom Stellard <[email protected]>
* radeon/llvm: Fix sin/cos codegen on R700Török Edwin2012-06-191-19/+24
| | | | | | | | | | Based on https://bugs.freedesktop.org/show_bug.cgi?id=50317#c4 Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=50316 https://bugs.freedesktop.org/show_bug.cgi?id=50317 Signed-off-by: Tom Stellard <[email protected]>
* gallium: Add PIPE_CAP_START_INSTANCEFredrik Höglund2012-06-1910-2/+12
| | | | Reviewed-by: Brian Paul <[email protected]>
* scons: Do not build svga if using Solaris Studio C compiler.Vinson Lee2012-06-182-0/+8
| | | | | | | | Solaris Studio C compiler does not support anonymous structs and anonymous unions. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* radeon/llvm: Update comment in AMDGPU.tdTom Stellard2012-06-181-2/+3
|
* radeon/llvm: Remove unused AMDIL TableGen definitonsTom Stellard2012-06-1818-6140/+26
|
* radeon/llvm: Eliminate getRegClassFromType() functionTom Stellard2012-06-181-42/+1
| | | | We can use TargetLowering::getRegClassFor() instead.
* radeon/llvm: Remove deadcode from AMDILISelLowering.cppTom Stellard2012-06-184-1687/+0
|
* gallium: Add support for Solaris Studio C++ compiler.Vinson Lee2012-06-181-1/+5
| | | | | Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* llvmpipe: Implement cylindrical wrapping.James Benton2012-06-183-4/+82
| | | | | | Tested against mesa demos cylwrap and dx9 DCT address.exe which now passes 100%. Signed-off-by: José Fonseca <[email protected]>
* st/glx: Do not undefine _R, _G, and _B.Vinson Lee2012-06-181-3/+0
| | | | | | | | Fixes build error on Cygwin and Solaris. _R, _G, and _B are used in ctype.h on those platforms. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* svga: fix synchronization bug between sampler views and surfacesBrian Paul2012-06-181-0/+5
| | | | | | | | | | This fixes a bug where a sampler view was using stale texture/resource data when the texture was modified through a surface (render to texture). Bumping the texture and layer ages triggers sampler view revalidation. Fixes piglit fbo-blit failure. Reviewed-by: José Fonseca <[email protected]>
* draw: Ensure that the vertex_header type size matches expectation.José Fonseca2012-06-181-0/+3
| | | | | | | | | This is failing sometimes, probably because TargetData keeps a structure layout cache, which can becomes bogus, ever since the InvalidateStructLayoutInfo API was removed in LLVM r135245. This change merely makes the problem easier to diagnose (an assertion failure instead of a random crash).
* r600g: enable streamout by default on r7xx and DRM 2.17.0Marek Olšák2012-06-175-11/+16
| | | | | | Now that it's in Linus's tree. Has anyone had a chance to test streamout on Cayman recently?
* i915g: More ops commute.Stéphane Marchesin2012-06-152-6/+22
| | | | This allows using the optimizations more broadly.
* r600g: fix lockups with streamout on r7xxMarek Olšák2012-06-152-0/+15
| | | | | | | | | This requires the latest streamout kernel patches. Streamout is disabled by default on r7xx, so this patch is safe for regular users. Reviewed-by: Alex Deucher <[email protected]>
* r600g: compute CS space for streamout correctly, add commentsMarek Olšák2012-06-151-6/+7
| | | | | | SET_CONTEXT_REG was not counted in. Reviewed-by: Alex Deucher <[email protected]>
* r600g: set SMX_ACTION_ENA to fix streamout cache flushes on some chipsetsMarek Olšák2012-06-151-1/+2
| | | | | | It helps on R7xx. Reviewed-by: Alex Deucher <[email protected]>
* clover: Fix build with LLVM libs installed to non-standard directoriesAlexey Shvetsov2012-06-151-0/+1
| | | | | | Reviewed-by: Tom Stellard <[email protected]> Signed-off-by: Tom Stellard <[email protected]>
* gallium: Add TGSI_OPCODE_F2U to gallivm backend.Paul Berry2012-06-151-0/+13
| | | | | | | | Note: for the moment TGSI_OPCODE_F2U is implemented using lp_build_itrunc() (the same function used to implement TGSI_OPCODE_F2I). In the long run, we should create an lp_build_utrunc() function to do the proper conversion. But this should allow us to limp along with mostly correct behaviour for now.
* winsys/radeon: enable IB submission to compute rings v2Christian König2012-06-154-8/+16
| | | | | | | | | | | This allows to submit things to the compute only rings on cayman+ v2: rebased on current master and actually make use of the new flag in evergreen_compute.c Signed-off-by: Christian König <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* winsys/radeon: Remove unnecessary pipe_thread_destroy in radeon_drm_cs_destroyMaarten Lankhorst2012-06-151-1/+0
| | | | | | | | Fixes crash bug introduced with 210ddf0819b5 fd.o #49198 pthread_detach after a pthread_join is unneeded. Signed-off-by: Maarten Lankhorst <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
* nv50,nvc0: fix stream output target buffer leakMarcin Slusarz2012-06-142-0/+2
| | | | | It manifests at exit as: "WARNING: destroying GPU memory cache with some buffers still in use"
* nv50: disable stream output before reconfiguring itChristoph Bumiller2012-06-141-2/+2
| | | | If we don't, the GPU will just throw an ILLEGAL_OPERATION error.
* nv50/ir: handle NEG,ABS modifiers for short RCP encodingChristoph Bumiller2012-06-141-0/+2
|
* st/vdpau: fix YCbCr down/up-loads for buffers larger than requestedChristian König2012-06-141-2/+27
| | | | | | | | | | When the video buffer turns out to be larger than requested by the application we shouldn't upload or download more data into / from it original requested. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=39309 Signed-off-by: Christian König <[email protected]>
* svga: make svga_surface_needs_propagation() surface constBrian Paul2012-06-142-3/+3
|
* svga: add svga_surface_const() cast wrapperBrian Paul2012-06-141-0/+8
|