summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* nvfx: Remove unnecessary headers.Vinson Lee2010-08-233-4/+0
|
* r300g: Remove unused variable.Vinson Lee2010-08-231-2/+0
| | | | | | Fixes this GCC warning. r300_render.c: In function 'r300_draw_flush_vbuf': r300_render.c:988: warning: unused variable 'r300_render'
* st/egl: Fix r300/r600 support in KMS backend.Chia-I Wu2010-08-242-3/+32
| | | | | When the kernel driver name is radeon, ask the loader for r300 or r600 depending on the PCI ID.
* targets/egl: Check against drm_driver_descriptor::name.Chia-I Wu2010-08-243-16/+15
| | | | | | drm_driver_descriptor::driver_name is defined to be the name of the kernel module. We should check against drm_driver_descriptor::name instead of drm_driver_descriptor::driver_name.
* targets/egl: add pipe_r600Benjamin Franzke2010-08-242-0/+40
| | | | | KNOWN ISSUE: eglShowScreenSurfaceMESA in st/egl/kms fails but st/egl/x11 works
* targets/egl: rename pipe_radeon to pipe_r300Benjamin Franzke2010-08-242-8/+8
| | | | | | | | | | | | | | st/egl/x11/x11_screen.c requests a driver named r300 not radeon KNOWN ISSUE: breaks st/egl/kms/ st/egl/kms requests a pipe named "radeon" that will not be found now so why not leaving pipe_radeon there? that was possible as long we have only r300g. now there is also r600g for which st/egl/kms also requests a pipe named "radeon" (possible solution in later commit)
* st/dri: Remove unnecessary main/mtype.h.Chia-I Wu2010-08-241-1/+0
|
* st/wgl: Include main/core.h.Chia-I Wu2010-08-244-7/+3
| | | | Make st/wgl include only main/core.h from core mesa.
* st/glx: Include main/core.h.Chia-I Wu2010-08-245-21/+38
| | | | Make st/glx include only main/core.h from core mesa.
* translate_sse: clear state for each function emissionLuca Barbieri2010-08-241-3/+3
| | | | Fixes #29771.
* r600g: add XPD supportDave Airlie2010-08-241-1/+124
| | | | ported from r600c.
* r600g: add CMP support.Dave Airlie2010-08-241-1/+50
| | | | ported from r600c, fixes fp-cmp, glsl1-sqrt*
* nvfx: don't emit dummy commands on nv30Luca Barbieri2010-08-241-4/+8
| | | | Should fix errors on the original nv30, reported by pmdata.
* translate_sse: fix x86-64Luca Barbieri2010-08-231-0/+1
|
* r600g: Add support for PIPE_CAP_DEPTH_CLAMP.Henri Verbeet2010-08-232-3/+4
|
* auxiliary: fix nvfx/nv50 primitive splitting for line loopsLuca Barbieri2010-08-231-1/+1
| | | | | | | s->close_first was on the wrong side of the inequality. Caught by blender. Thanks to AndrewR for reporting this.
* r600g: export one component per pixel + r7xx uncompression shaderJerome Glisse2010-08-235-5/+89
| | | | | | | We need to always at least export one component (wether it's depth or color. Add valid r7xx shader program for depth decompression. Signed-off-by: Jerome Glisse <[email protected]>
* nvfx: improve fp temp accountingLuca Barbieri2010-08-231-2/+4
|
* tgsi: fix false CondStackTop==0 assertionBrian Paul2010-08-231-0/+5
|
* util: fix util_fill_rect to take util_color instead of u32 paramRoland Scheidegger2010-08-234-61/+47
| | | | | | | | util_fill_rect could not handle formats with more than 32 bits, since the fill color was a uint32_t value. Fix this by using a util_color union instead, and also expand the union so it works with formats which have up to 256 bits (the max of any format currently defined).
* nvfx: emit bo relocations only when neededLuca Barbieri2010-08-238-20/+65
| | | | Should improve performance, possibly significantly.
* nvfx: match Gallium's gl_PointCoord brokennessLuca Barbieri2010-08-231-2/+5
| | | | | | | Gallium always puts gl_PointCoord in GENERIC[0] if point_quad_rasterization is enabled. This is silly, but for now it makes mesa-demos/glsl/pointcoord work.
* nvfx: support clip planes sensibly and fix them on nv30Luca Barbieri2010-08-238-116/+166
| | | | | | | | | | Before, we were discarding the compiled vertex program on each vertex program change. Now we compile the program as if there were 6 clip planes and dynamically patch in an "end program" bit at the right place. Also, nv30 should now work.
* r300g: avoid stall in no-tcl drawing when mapping vboDave Airlie2010-08-233-15/+26
| | | | | | | | | the current code reuses the same vbo over and over, however after a flush we'd stall and wait for mapping on the vbo when we should just fire and forget. On a gears test this brings me from ~620 to ~750 on my rv530 in swtcl mode. Signed-off-by: Dave Airlie <[email protected]>
* util: implement depth blitting in u_blitMarek Olšák2010-08-221-17/+43
| | | | Signed-off-by: Brian Paul <[email protected]>
* nvfx: fix minor memory leakLuca Barbieri2010-08-231-1/+1
|
* nvfx: support both sprite coord originsLuca Barbieri2010-08-233-43/+108
| | | | | | | Now we lie less when claiming OpenGL 2 support. Also, first piglit result group is now all green, except for fdo25614-genmipmap, which seems mesa/st's fault.
* nvfx: use 64-bit bitmasks for tempsLuca Barbieri2010-08-231-8/+8
|
* r600g: fix DB decompressionJerome Glisse2010-08-226-75/+97
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* nvfx: Include missing header in nvfx_vertprog.c.Vinson Lee2010-08-221-0/+2
| | | | | | | | | | | Include draw_context.h for draw_*_vertex_shader symbols. Fixes the following GCC warning. nvfx_vertprog.c: In function 'nvfx_vp_state_create': nvfx_vertprog.c:1276: warning: implicit declaration of function 'draw_create_vertex_shader' nvfx_vertprog.c:1276: warning: assignment makes pointer from integer without a cast nvfx_vertprog.c: In function 'nvfx_vp_state_delete': nvfx_vertprog.c:1298: warning: implicit declaration of function 'draw_delete_vertex_shader'
* translate_sse: add R32G32B32A32_FLOAT -> X8X8X8X8_UNORM for EMIT_4UBJakob Bornecrantz2010-08-221-0/+26
| | | | Changed by me to use movd instead of movss to avoid penalties.
* translate_sse: refactor constant managementLuca Barbieri2010-08-221-81/+76
|
* nvfx: refactor to support multiple fragment program versionsLuca Barbieri2010-08-225-76/+127
|
* nvfx: move stuff aroundLuca Barbieri2010-08-225-84/+95
|
* r600g: depth buffer likely needs decompression when used as textureJerome Glisse2010-08-228-34/+919
| | | | | | | | Before using depth buffer as texture, it needs to be decompressed (tile pattern of db are different from one used for colorbuffer like texture) Signed-off-by: Jerome Glisse <[email protected]>
* glx/xlib: configurable strict/non-strict buffer size invalidateKeith Whitwell2010-08-223-4/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a new configuration option XMESA_STRICT_INVALIDATE to switch between swapbuffers-based and glViewport-based buffer invalidation. Default strict invalidate to false, ie glViewport-based invalidation, aka ST_MANAGER_BROKEN_INVALIDATE. This means we will not call XGetGeometry after every swapbuffers, which allows swapbuffers to remain asynchronous. For apps running at 100fps with synchronous swapping, a 10% boost is typical. For gears, I see closer to 20% speedup. Note that the work of copying data on swapbuffers doesn't disappear - this change just allows the X server to execute the PutImage asynchronously without us effectively blocked until its completion. This applies even to llvmpipe's threaded rasterization as the swapbuffers operation was a large part of the serial component of an llvmpipe frame. The downside of this is correctness - applications which don't call glViewport on window resizes will get incorrect rendering, unless XMESA_STRICT_INVALIDATE is set. The ultimate solution would be to have per-frame but asynchronous invalidation. Xcb almost looks as if it could provide this, but the API doesn't seem to quite be there.
* llvmpipe: reduce size of fragment shader variant keyKeith Whitwell2010-08-222-6/+22
| | | | Don't spend as much time comparing them.
* llvmpipe: remove unused member from lp_fragment_shader_variant_keyKeith Whitwell2010-08-221-4/+0
|
* llvmpipe: don't clear unused binsKeith Whitwell2010-08-221-2/+5
| | | | | If bins outside the current scene bounds are being corrupted, we'll need to fix that separately. Currently seems ok though.
* draw: reduce the size of the llvm variant keyKeith Whitwell2010-08-224-38/+100
|
* glx/xlib: remove another XSyncKeith Whitwell2010-08-221-1/+0
| | | | | With this change, xmesa_get_window_size still does one round trip, but that's better than doing two.
* glx/xlib: no need to call XSync from XMesaFlushKeith Whitwell2010-08-221-1/+1
| | | | Try to eliminate some unnecessary X server round trips.
* nvfx: simplify and correct fragment program update logicLuca Barbieri2010-08-226-94/+149
| | | | | | | This version should hopefully be much clearer and thus less likely to be subtly broken. Also fixes point sprites on nv40 and possibly some other bugs too.
* nvfx: make stipple setting independent of enableLuca Barbieri2010-08-224-27/+3
|
* nvfx: fix vertex programsLuca Barbieri2010-08-221-0/+2
|
* nvfx: use relocations array for vp constantsLuca Barbieri2010-08-224-35/+34
|
* r600g: Don't blindly unmap NULL->size.Henri Verbeet2010-08-221-1/+3
| | | | | There may actually be something mapped in that range, especially for large buffers like e.g. the GL Drawable.
* svga: Do not shortcut NULL surface relocations with SVGA3D_INVALID_ID.José Fonseca2010-08-222-6/+9
| | | | | How to cope with NULL surface relocations should be entirely at winsys' discretion.
* libgl-xlib: Include missing header in xlib.c.Vinson Lee2010-08-221-0/+1
| | | | Include st_api.h for st_api_create_OpenGL symbol.
* nvfx: Silence unused variable warning.Vinson Lee2010-08-221-0/+1
| | | | The variable is used but only in the body of an assert.