Commit graph

9386 commits

Author SHA1 Message Date
Marek Olšák
f558bcb397 r300g: optimize emission of fragment shader constants 2010-06-13 17:43:39 +02:00
Marek Olšák
3da6487115 r300g: turn fragment shader into a CB 2010-06-13 17:43:39 +02:00
Marek Olšák
0a44efaeb9 r300g: turn depth stencil state into a CB 2010-06-13 17:43:39 +02:00
Marek Olšák
f803211629 r300g: turn clip state into a CB 2010-06-13 17:43:39 +02:00
Marek Olšák
9dd50993c6 r300g: turn blend color into a CB 2010-06-13 17:43:38 +02:00
Marek Olšák
cd891648d4 r300g: turn blend state into a CB 2010-06-13 17:43:38 +02:00
Marek Olšák
a062156bb2 r300g: add API for building command buffers
The idea is to build a hardware command buffer for every CSO and memcpy
the buffer to a command stream at bind time (or dirty-state-emission time,
to be precise).
2010-06-13 17:43:38 +02:00
Marek Olšák
7ca24dfa6d r300g: inline FLUSH_CS
The fewer macros, the better.
2010-06-13 17:43:38 +02:00
Marek Olšák
98f67a6bbd r300g: reorder CS macros and document them a little 2010-06-13 17:43:38 +02:00
Marek Olšák
8f13e2bda1 r300g: drop DBG_CS
I'd like the CS macros to be as lightweight as possible for performance
reasons.
2010-06-13 17:43:38 +02:00
Marek Olšák
7005feabcd r300g: inline CHECK_CS 2010-06-13 17:43:38 +02:00
Marek Olšák
ae182296ce r300g: replace r300_cs_info with simplier get_cs_free_dwords 2010-06-13 17:43:38 +02:00
Marek Olšák
7d5230ce90 r300g: fix multiple render targets
This fixes tests/drawbuffers.
2010-06-13 17:43:38 +02:00
Marek Olšák
ea0ec0b48e r300g: remove r300_state.h 2010-06-13 17:43:38 +02:00
Marek Olšák
cb17f5ee75 r300g: move two-sided stencilref fallback to its own file 2010-06-13 17:43:37 +02:00
Marek Olšák
aa5422327d r300g: move index buffer translate functions to their new home 2010-06-13 17:43:37 +02:00
Marek Olšák
028459b0bf r300g: add fallback for unaligned/unsupported vertex stride/offset/format
There is a problem though, the translate module cannot emit half float
vertices.
2010-06-13 17:43:37 +02:00
Marek Olšák
1384a7bcca r300g: upload only vertex buffers referenced by vertex elements 2010-06-13 17:43:37 +02:00
Zack Rusin
db05972807 draw/gs: copy the outputs only if we emitted something 2010-06-12 10:45:42 -04:00
Zack Rusin
1551b4da8c softpipe: small cleanup 2010-06-12 10:45:42 -04:00
Vinson Lee
e0b211d07c scons: Disable i965g build if using MSVC.
i965g uses C99 constructs that are not supported by MSVC.
2010-06-11 18:43:58 -07:00
Vinson Lee
de51485000 scons: Disable i915g build if using MSVC.
i915g uses C99 constructs that are not supported by MSVC.
2010-06-11 18:42:57 -07:00
Tom Stellard
622fd4d061 r300/compiler: Implement simple loop emulation
The loop emulation unrolls loops as may times as possbile while still
keeping the shader program below the maximum instruction limit.  At this
point, there are no checks for constant conditionals.  This is only enabled
for fragment shaders.
2010-06-11 22:06:58 +02:00
Zack Rusin
53bd9796a1 gallium/softpipe/draw: support samplers in geometry shaders 2010-06-11 13:31:52 -04:00
Zack Rusin
2396967038 tgsi: support 2d indirect addressing 2010-06-11 10:35:24 -04:00
Chia-I Wu
ebed500fae st/egl: Do not build non-working driver combinations.
The KMS backend requires a hardware pipe driver.  Do not build
egl_kms_swrast.  Also, only build egl_fbdev_swrast for fbdev backend.
It is a pure software backend.
2010-06-11 12:55:09 +08:00
Chia-I Wu
71580edc01 st/egl: Add fbdev backend.
The backend is pure software.  It implements EGL_MESA_screen_surface
extension, and is kept simple by only exporting the current mode.
2010-06-11 12:55:09 +08:00
Chia-I Wu
ce0c837f60 winsys: Add fbdev software winsys.
This is a simple winsys that mmap()s the framebuffer device and
memcpy()s the contents of display targets to the framebuffer device for
displaying.
2010-06-11 12:23:38 +08:00
Vinson Lee
628cf02d67 st/egl: Remove unnecessary header. 2010-06-10 15:52:04 -07:00
Zack Rusin
9896b7ebeb draw: forgot to add a file 2010-06-10 15:25:30 -04:00
Zack Rusin
29639932f7 draw: rewrite geometry shader pipeline
done to handle strips correctly as inputs - we need to decompose
the strips
2010-06-10 15:23:01 -04:00
Zack Rusin
226ff53e63 gs: give our test an option of rendering a strip 2010-06-10 13:20:15 -04:00
Zack Rusin
4d0baa73c9 draw: geometry shader fixes
don't overwrite the inputs and make sure the correct primitive
is used on entry
2010-06-10 13:07:27 -04:00
Zack Rusin
9ef6d34f7e draw: make sure that the gs never outputs more data than we allocated for 2010-06-10 05:15:55 -04:00
Vinson Lee
9be40de087 r300g: Fix memory leak on error path. 2010-06-10 00:33:25 -07:00
Marek Olšák
45fb47d50c r300g: try harder to create a transfer object
I was told this wouldn't help to fix the FDO bug #28443, but still,
it's a harmless last resort.

Also, linear textures safely fallback to an unpipelined transfer here.
2010-06-09 21:43:31 +02:00
Zack Rusin
1d11eac93f draw: make sure geometry shader correctly iterates the output buffer 2010-06-09 15:02:08 -04:00
Marek Olšák
f571a569a0 r300g: debug output texture size 2010-06-09 20:22:52 +02:00
Marek Olšák
950be3fa3c r300g: return NULL texture early if buffer_create fails 2010-06-09 20:17:27 +02:00
Zack Rusin
da4185ca77 draw: make sure the buffer is big enough to fit everything emitted by the gs 2010-06-09 14:11:43 -04:00
Roland Scheidegger
26d5d4d995 llvmpipe: fix copy & paste bug in clear logic
fixes bug 28450.
2010-06-09 18:46:52 +02:00
Zack Rusin
04490ad31d draw: fix geometry shader which emit multiplie primitives 2010-06-09 11:59:53 -04:00
Zack Rusin
d27d45a2df graw: add a multiple primitive geometry shader test 2010-06-09 11:44:19 -04:00
Zack Rusin
db7ed20730 nv: fix compile after the latest gs changes 2010-06-09 11:29:45 -04:00
Zack Rusin
d4ef0f6c67 geometry shaders: make gs work with changable primitives and variable number of vertices
lots and lots of fixes for geometry shaders. in particular now we work when the gs
emits a different primitive than the one the pipeline was started with and also
we work when gs emits more vertices than would fit in the original buffer.
2010-06-09 11:13:34 -04:00
Thomas Hellstrom
cec9955acc xorg/vmwgfx: Disable 3D by default.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2010-06-09 07:40:07 +02:00
Thomas Hellstrom
2e27bf8b7c st/xorg: Add a customizable option to disable 3D.
If no customizer is present, 3D will be enabled by default.
Otherwise the option will default to the customizer value.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2010-06-09 07:40:07 +02:00
Ben Skeggs
ebd98b3496 nvfx: fix typo from gallium-msaa merge 2010-06-09 11:59:49 +10:00
Ben Skeggs
851ca2f7f9 nv50: fix typo from gallium-msaa merge 2010-06-09 11:59:01 +10:00
Ben Skeggs
7bf678f7ec nv50: use MARK_RING correctly 2010-06-09 11:59:01 +10:00