summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* d3d1x: add shader signature to sm4_programChristoph Bumiller2011-10-215-7/+52
| | | | | | Correct linkage requires examining the signature itself, it cannot be reconstructed from declarations only since unused registers may have been omitted from them.
* d3d1x: attempt to detect D3D10 feature levelChristoph Bumiller2011-10-211-13/+31
| | | | | Virtually all applications refuse to use the D3D10 backend if this level is not supported, which makes testing annoying.
* d3d1x: switch to TGSI SAMPLE opcodesChristoph Bumiller2011-10-216-222/+61
| | | | | | We don't want to clutter the code or handicap new hardware for the sake of ancient GPUs on which d3d1x won't ever be used, much less be fully compliant, anyway.
* r600g: cleanup r600_reset_blittable_to_compressedMarek Olšák2011-10-211-6/+3
|
* Add solaris detection for PIPE_ARCH_LITTLE_ENDIAN/PIPE_ARCH_BIG_ENDIANAlan Coopersmith2011-10-201-0/+9
| | | | Signed-off-by: Alan Coopersmith <[email protected]>
* r300g: don't return NULL in resource_from_handle if the resource is too smallMarek Olšák2011-10-204-30/+22
| | | | | | | | | The DDX may allocate a buffer with a too small size. Instead of failing, let's pretend everything's alright. Such bugs should be fixed in the DDX, of course. NOTE: This is a candidate for the stable branches.
* d3d1x: make use of new query typesChristoph Bumiller2011-10-202-17/+18
|
* softpipe: implement/fix TIMESTAMP queriesChristoph Bumiller2011-10-201-3/+8
|
* gallium: add new query types and missing documentationChristoph Bumiller2011-10-202-14/+68
|
* winsys/svga: Remove some unneeded debug codeThomas Hellstrom2011-10-191-16/+0
| | | | | | | | | | | This code isn't really relevant since the kernel takes care not to destroy busy GMR buffers. Also with the advent of fence objects, the code was incorrect since it didn't refcount fence handles. Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]>
* softpipe: remove unused vars in softpipe_clear()Brian Paul2011-10-181-3/+0
|
* svga: Plug a fence leakThomas Hellstrom2011-10-181-3/+3
| | | | | Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]>
* i915g: Use the right shader limits.Stéphane Marchesin2011-10-173-5/+9
|
* i915g: Add TODO.Stéphane Marchesin2011-10-171-0/+2
|
* r600g: Use the bitfield define matching the register it is used for.Mathias Fröhlich2011-10-181-2/+2
| | | | Fix a typo that should result in the same code.
* st/xorg: fix build when /lib/gallium directory does not exist yetMarcin Slusarz2011-10-171-1/+1
| | | | TARGET was not defined, so make checked directory instead of file
* targets/va/vdpau/xvmc: don't rebuild target lib every timeMarcin Slusarz2011-10-173-3/+3
| | | | Dependency on target directory caused unnecessary relink. Remove them.
* st/xorg: remove target library on make cleanMarcin Slusarz2011-10-171-1/+1
|
* gallium/targets: use c++ compiler for linkingMarcin Slusarz2011-10-179-25/+63
| | | | | | | | | As pointed out by Michel Dänzer, gcc -lstdc++ doesn't work on all systems, because it may require other libraries which are only pulled in implicitly by g++. And libstdc++ is available only with GNU compiler. Use c++ compiler for linking and remove redundant LDFLAGS += -lstdc++ all over the tree.
* r300/compiler: Try to eliminate REPL_ALPHA instructionsTom Stellard2011-10-161-33/+57
| | | | | | | Scalar instruction that need to write to the xyz components of a register must reserve the RGB instruction slot for a REPL_ALPHA instruction. With this commit, the scheduler will attempt to free the RGB slot by moving the write to the w component of a register.
* r300/compiler: More agressive RGB to Alpha conversionsTom Stellard2011-10-161-8/+10
|
* r300/compiler: Only convert RGB->Alpha when optimizations are enabledTom Stellard2011-10-162-1/+8
|
* gallivm: Eliminate tgsi_util_get_full_src_register_sign_mode call.José Fonseca2011-10-161-11/+3
| | | | | It complicates more than it simplifies, now that there's only one negate bit on TGSI registers.
* llvmpipe: Use lp_build_ifloor_fract for exp2 calculation.José Fonseca2011-10-162-5/+11
| | | | | | | Instead of separate ifloor / fract calls. No change for SSE4.1 code, but less FP<->SI conversions on non SSE4.1 systems.
* Revert "r300g: fix rendering with a non-zero index bias in ↵Marek Olšák2011-10-161-3/+1
| | | | | | | | draw_elements_immediate" This reverts commit 5506f6ef966b8883e575a3f60ce96ad42ee6ffd2. It breaks more things than it fixes.
* nv50,nvc0: extend formats table for integer formatsChristoph Bumiller2011-10-154-1135/+731
|
* gallium: add PIPE_BIND_BLENDABLE flagChristoph Bumiller2011-10-152-4/+10
| | | | | | | | | This is required for an accurate implementation of d3d1x's CheckFormatSupport query. It also seems generally useful for state trackers, which could choose alternative rendering paths or formats if blending would come at a significant performance loss.
* r300/compiler: Enable reg rename pass on r500 and run it before optimizationsTom Stellard2011-10-141-4/+1
| | | | | The scheduler and the register allocator are now smart enough to handle it.
* r300/compiler: Implement the texture semaphoreTom Stellard2011-10-146-49/+308
| | | | | | | | | | | The texture semaphore allows for prefetching of texture data. On my RV515, this increases the FPS of Lightsmark by 33% (This is with the reg_rename pass enabled, which is enabled in the next commit). There is a new env variable now called RADEON_TEX_GROUP, which allows you to specify the maximum number of texture lookups to do at once. The default is 8, but different values could produce better results for various application / card combinations.
* r300/compiler: Don't pair output writes with GPR writes in the schedulerTom Stellard2011-10-141-0/+7
|
* r300/compiler: Prevent regalloc from creating non-native swizzlesTom Stellard2011-10-141-16/+63
|
* r300/compiler: Allow merged instructions to be scheduled on demandTom Stellard2011-10-141-50/+99
| | | | | | We no longer emit full instructions immediately after they have been merged. Instead merged instructions are added to the ready list and the scheduler can commit them whenever it wants.
* r300g: set max vertex samplers to 0 on swtcl chipsetsMarek Olšák2011-10-141-3/+8
| | | | | | | This should fix a bug added by f5bfe54a. Might also fix: https://bugs.freedesktop.org/show_bug.cgi?id=41715
* winsys/svga: Rework buffer allocation to make it more robust v2.Thomas Hellstrom2011-10-143-17/+57
| | | | | | | | | | | | | | | | Don't allow any "CPU" buffers to be allocated by the pb_fenced buffer manager, since we can't protect against failures during buffer validation. Also, add an extra slab buffer manager to allocate buffers from the kernel if there is a failure to allocate from our big buffer pool. The reason we use a slab manager for this, is to avoid allocating many very small buffers from the kernel. v2: Increased VMW_MAX_BUFFER_SIZE and fixed some comments. Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: José Fonseca <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]>
* dri-vmwgfx: Hook up a drm_descriptor configuration functionThomas Hellstrom2011-10-141-2/+18
| | | | | | | | | Returns a configuration that makes the dri state-tracker-manager throttle. Also disable kernel-based throttling. Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]>
* st/dri: Hook up throttling based on the drm driver_descriptor configurationThomas Hellstrom2011-10-143-2/+27
| | | | | | | | Hooks up throttling if there is a configuration function present and it indicates that throttling is desired. Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]>
* drm_driver: Add a configuration function to the driver descriptor.Thomas Hellstrom2011-10-1427-27/+72
| | | | | | | | Adds a possibility for the state tracker manager to query the target for a specific configuration. Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]>
* svga/winsys: Make sure a flush always inserts and returns a fence if requestedThomas Hellstrom2011-10-141-1/+1
| | | | | | | Needed for throttling. Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Jakob Bornecrant <[email protected]>
* st/dri: Implement the new dri2 throttling extensionThomas Hellstrom2011-10-142-2/+136
| | | | | | | | | | But don't hook it up just yet until we figure out a good way to do that. Also, we should, in the future, add driconf options to control what throttling reasons should be honored, and the number of outstanding swaps allowed. Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]>
* st/wgl: Release stw_framebuffer::mutex after pbuffer creation.Mathias Froehlich2011-10-131-0/+2
| | | | | | | | | | | | This change releases the stw_framebuffer::mutex past creation of the pbuffer stw_framebuffer. Without this change the pbuffers lock is never released. Since on win32 mutexes are recursive, this does not hurt as long as all actions on a context are done from the same thread. But if, for example, context creation happens in a different thread than usage, every access to the context will block for ever. Signed-off-by: José Fonseca <[email protected]>
* st/xorg: fix build without LLVMMarcin Slusarz2011-10-131-0/+2
|
* d3d1x: fix check for PIPE_CAP_CONDITIONAL_RENDERChristoph Bumiller2011-10-132-3/+1
|
* softpipe: fix regression with tex tile cache since integer support.Dave Airlie2011-10-121-2/+3
| | | | | | | | Don't use the uint/int paths for ZS formats for tex tile cache. fixes: https://bugs.freedesktop.org/show_bug.cgi?id=41695 Signed-off-by: Dave Airlie <[email protected]>
* nv50: don't crash on TXD opcodeMarcin Slusarz2011-10-111-0/+2
| | | | | | It doesn't implement full TXD, but at least it does not crash. Fixes arb_shader_texture_lod-texgrad and glsl-fs-shadow2DGradARB-* piglit tests.
* svga: remove old, unused sincos code for SM2.0Brian Paul2011-10-112-51/+0
|
* svga: remove support for shader model 2.0Brian Paul2011-10-119-374/+25
| | | | | | We've been requiring SM 3.0 all along so this just removes unused code. Reviewed-by: Jose Fonseca <[email protected]>
* softpipe: add integer supportDave Airlie2011-10-115-44/+146
| | | | | | | This adds support to the clear and tile caches for integer storage and clearing, avoiding any floating paths. Signed-off-by: Dave Airlie <[email protected]>
* gallium: rename ZS stencil type to UINT (v2)Dave Airlie2011-10-1155-286/+287
| | | | | | | | | | these are never USCALED, always UINT in reality. taken from some work by Christoph Bumiller v2: fixup formatting of table + tabs Signed-off-by: Dave Airlie <[email protected]>
* llvmpipe: don't support rendering to sRGB surfacesBrian Paul2011-10-111-1/+2
| | | | Fixes https://bugs.freedesktop.org/show_bug.cgi?id=34199
* draw/llvm: set draw->pt.user.planes field in draw_set_clip_state()Brian Paul2011-10-111-1/+2
| | | | | | | | | | | | | Previously it was getting set in draw_set_mapped_constant_buffer() but if there were no shader constants, that function wasn't called. So the pt.user.planes field was null and we died when we tried to access the clip planes in the LLVM-generated code. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=41663 Note: This is a candidate for the 7.11 branch. Reviewed-by: José Fonseca <[email protected]>