summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* i915g: Bump texture sizesJakob Bornecrantz2011-05-251-2/+2
| | | | | | Spotted and tested by Christopher Egert. Signed-off-by: Jakob Bornecrantz <[email protected]>
* r600g: remove duplicate opcode in r600_opcodes.hAlex Deucher2011-05-251-1/+0
| | | | | | | | V_SQ_CF_WORD1_SQ_CF_INST_HALT is 0x1f on both evergreen and cayman. Reported-by: Gustaw Smolarczyk <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
* r600g: fix eg/cayman scissor workaroundAlex Deucher2011-05-241-11/+13
| | | | Signed-off-by: Alex Deucher <[email protected]>
* r600g: add workaround for buggy hw scissor on eg/cayman.Dave Airlie2011-05-251-1/+14
| | | | | | This is ported from the same fix to the DDX. Signed-off-by: Dave Airlie <[email protected]>
* r600g: add initial cayman acceleration support.Dave Airlie2011-05-2512-204/+1442
| | | | | | | | | | | | | | | | Cayman is the RadeonHD 69xx series of GPUs. This adds support for 3D acceleration to the r600g driver. Major changes: Some context registers moved around - mainly MSAA and clipping/guardband related. GPR allocation is all dynamic no vertex cache - all unified in texture cache. 5-wide to 4-wide shader engines (no scalar or trans slot) - some changes to how instructions are placed into slots - removal of END_OF_PROGRAM bit in favour of END flow control clause - no vertex fetch clause - TC accepts vertex or texture Signed-off-by: Dave Airlie <[email protected]>
* r600g: don't lookup a vs semantic for position/face.Dave Airlie2011-05-251-0/+4
| | | | | | | These don't need one, and I was seeing 0xff being returned and set in the GPU registers with some tests. Signed-off-by: Dave Airlie <[email protected]>
* r600g: flush the DB dest base as well.Dave Airlie2011-05-251-1/+1
| | | | | | | | If we do this for CB bases then we should do it for DB bases. noticed while adding cayman support. Signed-off-by: Dave Airlie <[email protected]>
* wgl: Don't hold on to user supplied HDC.José Fonseca2011-05-243-23/+22
| | | | | | | | | | | Certain applications (e.g., Bernina My Label, and the Windows implementation of Processing language) destroy the device context used when creating the frame-buffer, causing presents to fail because we were still referring to the old device context internally. This change ensures we always use the same HDC passed to the ICD entry-points when available, or our own HDC when not available (necessary only when flushing on single buffered visuals).
* r600g: fix "Fixed-Point Data Conversions"Christian König2011-05-212-2/+2
| | | | | | According to OpenGL 3.1 chapter 2.1.5 the representation without zero should only be used for vertex attribute values, but not for textures or frame-buffers.
* st/egl: Add support for EGL_DRM_BUFFER_USE_CURSOR_MESABenjamin Franzke2011-05-201-1/+7
|
* st/dri: Support dri2 useflags in dri2_create_imageBenjamin Franzke2011-05-201-0/+9
|
* st/egl/wayland: Deal with wayland visual changesBenjamin Franzke2011-05-201-17/+21
| | | | | | | Since wayland 4bde293ff8109d55eeaee8732f5a6ee0c8cd4bd9 we cant lookup visuals, as we dont receive the visual token events. The format for pixmap-images thus has to default to argb for now.
* gallivm: Fix for dynamically linked LLVM 2.8 library.José Fonseca2011-05-201-2/+12
| | | | | | | | | This prevents the error prog: for the -disable-mmx option: may only occur zero or one times! when creating a new context after XCloseDisplay with DRI drivers linked with a shared LLVM 2.8 library.
* st/glx: define/set new ST_CONTEXT_FLAG_bitsBrian Paul2011-05-192-11/+25
|
* st/glx: pass major, minor, context flags, etc to XMesaCreateContext()Brian Paul2011-05-193-3/+9
|
* st/glx: implement glXCreateContextAttribsARB()Brian Paul2011-05-191-0/+95
|
* st/glx: pass version, context flags, etc to create_context()Brian Paul2011-05-191-4/+9
|
* st/glx: refactor create-context functionsBrian Paul2011-05-191-61/+40
|
* nv50: add support for user clip planesMaxim Levitsky2011-05-194-1/+40
| | | | | | | | | | | | | | | Clip distance is calculated each time vertex position is written which is suboptiomal is some cases but very safe. User clip planes are an obsolete feature anyway. Every time number of clip planes increases, the vertex program is recompiled. That ensures no overhead in normal case (no user clip planes) and reasonable overhead otherwise. Fixes 3D windows in compiz, and reflection effect in neverball. Also fixes compiz expo plugin when windows were dragged and each window shown 3 times.
* gallivm: Tell LLVM to not assume a 16-byte aligned stack on x86.José Fonseca2011-05-181-0/+13
| | | | Fixes fdo 36738.
* r600g: bump domain selection up one layer.Dave Airlie2011-05-183-6/+24
| | | | | | | this is taken from a patch from Mathias Froehlich, just going to stage it in a few pieces. Signed-off-by: Dave Airlie <[email protected]>
* u_vbuf_mgr: fix max_index computation when src_offset is abused as buffer_offsetMarek Olšák2011-05-171-1/+6
|
* gallium: block signals for new thread when spawning threadsDave Airlie2011-05-161-1/+8
| | | | | | | | | | | | | I'm hard pressed to think of any reason a gallium thread would want to receive a signal, especially considering its probably loaded as a library and you don't want the threads interfering with the main threads signal handling. This solves a problem loading llvmpipe into the X server for AIGLX, where the X server relies on the SIGIO signal going to the main thread, but once llvmpipe loads the SIGIO can end up in any of its threads. Signed-off-by: Dave Airlie <[email protected]>
* r600g: reduce flushes so only when texture and CB overlap.Dave Airlie2011-05-152-8/+17
| | | | | | | We only need to do this when the texture and CB are using the same memory area. Signed-off-by: Dave Airlie <[email protected]>