summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* i915g: Do generic remapping.Stéphane Marchesin2011-06-063-92/+119
| | | | | | With complex shaders there are often "holes" in the fs inputs, and we only have 8 tex coorsd to map those to. To fix this, we remap fs inputs to [0..8]. This lets us to run many more GLSL programs.
* i915g: implement more opcodes.Stéphane Marchesin2011-06-061-12/+82
|
* i915g: implement TGSI_OPCODE_SEQ.Stéphane Marchesin2011-06-061-0/+28
|
* i915g: handle varyings properly.Stéphane Marchesin2011-06-062-9/+27
|
* i915g: add missing and unsupported PIPE_CAPs to avoid debug messages.Stéphane Marchesin2011-06-061-0/+5
|
* Gallium: fix indentation in u_blitter.cStéphane Marchesin2011-06-061-1/+1
|
* i915g: don't destroy a texture buffer if it's NULL.Stéphane Marchesin2011-06-061-1/+2
|
* llvmpipe: use $(CXX) instead of g++ for linking.Stéphane Marchesin2011-06-061-1/+1
| | | | This allows setting the path to the C++ compiler.
* softpipe: Anisotropic filtering extension.Andreas Faenger2011-06-062-6/+336
| | | | | | | Reference implementation which produces high quality renderings. Based on Higher Quality Elliptical Weighted Avarage Filter (EWA). Signed-off-by: Brian Paul <[email protected]>
* util: add \n to debug_checkpoint_fullMarcin Slusarz2011-06-061-1/+1
| | | | Signed-off-by: José Fonseca <[email protected]>
* nv50: fix nv50_sampler_state_delete array overflowMarcin Slusarz2011-06-061-1/+1
| | | | num_samplers is array of 3 elements, not 5
* r600g: move spi update to only when states change.Dave Airlie2011-06-031-2/+9
| | | | | | | This updates the spi state after ps/vs binding or rasteriser state change. Signed-off-by: Dave Airlie <[email protected]>
* cso: move cso hashes to a more table driven schemeDave Airlie2011-06-032-84/+21
| | | | | | this removes a bad branch pain in the hash table lookup fn. Signed-off-by: Dave Airlie <[email protected]>
* u_prim: convert u_trim_pipe_prim to table driven.Dave Airlie2011-06-031-47/+24
| | | | | | | | This makes this function not be an always miss for the branch predictor. Noticed using cachegrind, makes a minor difference to gears numbers on r600g. Signed-off-by: Dave Airlie <[email protected]>
* r600g: make conv pipe prim table driven.Dave Airlie2011-06-031-32/+20
| | | | | | | This is a lot more branch predictor friendly, it actually showed up in cachegrind profiles. Signed-off-by: Dave Airlie <[email protected]>
* dri/nouveau: Fix build with --enable-shared-dricore.Johannes Obermayr2011-06-021-1/+1
| | | | | | | | | - Based on the work of Себастьян Gliţa Κατινα <[email protected]> - Split Makefile.template into Makefile.defines and Makefile.targets - Adapt other drivers to new situation - Fixes https://bugs.freedesktop.org/show_bug.cgi?id=35441 Signed-off-by: Brian Paul <[email protected]>
* r600g: sampler and texture state doesn't need a range/block.Dave Airlie2011-06-034-34/+50
| | | | | | | | | These are handled separately in the winsys, so don't need the calculations done at this point. this manifested as a crash in point-sprite, Thanks to XoD on #radeon for pointing it out. Signed-off-by: Dave Airlie <[email protected]>
* softpipe: add a better fake implementation of fencesMarek Olšák2011-06-022-6/+5
| | | | | | | | | | The flush function, when asked for, should not return a NULL fence. NULL can only be returned if fences are not implemented, and st/mesa doesn't call any of the fence functions if it receives a NULL fence (because some drivers don't even set the fence hooks). ARB_sync is exposed if fence_finish is set.
* util: faster logbase2Brian Paul2011-06-021-4/+7
|
* d3d1x/sm4: don't reset 1st index of multi-dimensional operands to 0Christoph Bumiller2011-06-021-1/+1
|
* d3d1x/sm4: fix swizzle for 1 component operandsChristoph Bumiller2011-06-021-0/+1
| | | | | For example, "mov o0.w, l(1)" would use imm_values[3], which is not valid.
* r600g: add spi state and move spi/vgt to modify registerDave Airlie2011-06-022-16/+35
| | | | | | | | | This modifies the VGT state and move the SPI setup to its own discrete state. It then just sets the SPI state up and the VGT state up once and modifies them thereafter. Signed-off-by: Dave Airlie <[email protected]>
* r600g: decrease CPU time on set buffer resourcesDave Airlie2011-06-025-24/+92
| | | | | | | | This splits the initialisation and the setting of values in the resource buffers. We only should end up initialising once and updateing with new values when needed. Signed-off-by: Dave Airlie <[email protected]>
* r600g: work out range/block etc at state build time.Dave Airlie2011-06-023-10/+17
| | | | | | | | This moves the overhead of working out the range/block to state build time, it also allows the compiler to use constants for a lot of things instead of working them out each time. Signed-off-by: Dave Airlie <[email protected]>
* r600g: deinline r600_pipe_state_add_reg.Dave Airlie2011-06-022-12/+17
| | | | | | | This is going to get too big to be a forced inline. Also going to remove it from some hotpaths. Signed-off-by: Dave Airlie <[email protected]>
* r600g: prepare for passing ctx into _r600_pipe_state_add_regDave Airlie2011-06-025-18/+37
| | | | | | | | This moves the functions down the file, and also adds a ctx parameter. This is precursor patch just moving stuff around and getting it ready. Signed-off-by: Dave Airlie <[email protected]>
* r600g: migrate macros from r600_priv.h to r600.hDave Airlie2011-06-022-10/+11
| | | | | | this is just an precursor change for some later patches. Signed-off-by: Dave Airlie <[email protected]>
* r600g: remote ctx arg to block/range macros.Dave Airlie2011-06-023-24/+24
| | | | | | These aren't used anymore. Signed-off-by: Dave Airlie <[email protected]>
* r600g: avoid copying unnecessary pieces of a block.Dave Airlie2011-06-021-11/+20
| | | | | | | This just avoids copying stuff if its going to modify the number of dwords later anyways. Signed-off-by: Dave Airlie <[email protected]>
* r600g: optimise state setting in r600_draw_vbo.Dave Airlie2011-06-022-11/+21
| | | | | | | This drop the r600_draw_vbo CPU usage on a run of nexuiz from 1.40% to 0.72% in sysprof for me on my Fusion APU. Signed-off-by: Dave Airlie <[email protected]>
* r600g: force new evergreen blocks for large range.Dave Airlie2011-06-021-0/+3
| | | | | | | This range was 76 dwords long, the 75th dword changes, the first 60 or so don't. split the block so it emits less often. Signed-off-by: Dave Airlie <[email protected]>
* r300g: remove unused debug option DBG_UPLOADMarek Olšák2011-06-012-15/+11
| | | | And renumber the options.
* r600g: add llano supportAlex Deucher2011-05-316-0/+65
| | | | Signed-off-by: Alex Deucher <[email protected]>
* st/egl: Fix udev linkage when egl_dri2 is not buildBenjamin Franzke2011-05-311-1/+1
|
* r300g: set squared microtiling for the dummy zbufferMarek Olšák2011-05-311-1/+1
| | | | The pitch of 4 is allowed for squared microtiling only.
* r600g: cs init fixesAlex Deucher2011-05-313-5/+12
| | | | | | | | | - all asics need to emit CONTEXT_CONTROL - all r6xx asics need to emit 3D_START_CMDBUF The ddx and r600c already do this. r600g should as well. Signed-off-by: Alex Deucher <[email protected]>
* r300g: log when getting unsupported texture formatMarek Olšák2011-05-311-4/+14
|
* gallium: include limits.h in p_config.hDave Airlie2011-05-311-1/+1
| | | | | | | | | | | We are getting inconsistent methods for endian detection (same answer when it works, just doesn't work on some platforms) depending on whether __GLIBC__ is defined, which of course depends on include ordering before p_config.h Just make p_config.h include limits.h to solve this. Signed-off-by: Dave Airlie <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* r600g: add context control to start of CSDave Airlie2011-05-311-0/+13
| | | | | | | | | On my original R600 card this at least lets gnome shell run for a while longer and the piglit r300-readcache test case works a lot more reliably. Still a few more stability issues running a piglit test run though. Signed-off-by: Dave Airlie <[email protected]>
* r600g: don't emit color blend register on original R600.Dave Airlie2011-05-312-8/+15
| | | | | | The original R600 doesn't have these so don't emit them. Signed-off-by: Dave Airlie <[email protected]>
* tgsi/ureg: bump the limit of immediatesMarek Olšák2011-05-301-1/+1
| | | | | | | | | | Lowered indirect addressing can create lots of immediates. Fixes piglit/glsl-fs-uniform-array-7 on r300g. NOTE: This is a candidate for the 7.10 branch. Reviewed-by: Brian Paul <[email protected]>
* trace: implement texture_barrierMarek Olšák2011-05-291-0/+16
|
* trace: implement render_conditionMarek Olšák2011-05-291-0/+20
|
* r300g: clear can be killed by render conditionMarek Olšák2011-05-293-7/+35
| | | | | Fixes piglit: - NV_conditional_render/clear
* r300g: fix occlusion queries when depth test is disabled or zbuffer is missingMarek Olšák2011-05-292-6/+27
| | | | | | | | | | | | | | | From now on, depth test is always enabled in hardware. If depth test is disabled in Gallium, the hardware Z function is set to ALWAYS. If there is no zbuffer set, the colorbuffer0 memory is set as a zbuffer to silence the CS checker. This fixes piglit: - occlusion-query-discard - NV_conditional_render/bitmap - NV_conditional_render/drawpixels - NV_conditional_render/vertex_array
* r300g: cleanup render_condition a bitMarek Olšák2011-05-291-5/+3
|
* r300g: remove fake occlusion queries (debug option)Marek Olšák2011-05-293-58/+7
|
* r300g: remove debug option DBG_FALLMarek Olšák2011-05-292-2/+1
|
* r300g: print some HyperZ debug infoMarek Olšák2011-05-292-0/+4
|
* nv50: fix emit_add_a16 to emit correct source regTrevor Davenport2011-05-271-2/+2
| | | | | | | | | | | emit_add_a16 was using the incorrect source. This caused adds in the form of: add u16 $a0 s32 $a1 u32 0x00000200 to have a source AREG of $a0 instead of $a1. Fixes World of Warcraft in OpenGL and D3D without GLSL.