Marek Olšák
3c351e2c83
r300g: debug option for fake occlusion queries
2010-06-18 02:17:17 +02:00
Marek Olšák
c3c2023323
r300g: more reasonable MSPOS defaults in error path
2010-06-17 05:14:24 +02:00
Marek Olšák
6771622e22
r300g: fix surface leaks
2010-06-17 05:11:07 +02:00
Vinson Lee
2412188453
r300g: Fix uninitialized variable warnings in error path.
2010-06-16 17:56:00 -07:00
Zack Rusin
287531772c
draw: rewrite stream output to handle all the dark corners
...
register masks, multiple output buffers, multiple primitives,
non-linear vertices (elts) and stride semantics.
2010-06-16 14:43:56 -04:00
Corbin Simpson
e41ad8d2c5
r300g: Fix up resolve.
...
Yay for old code.
2010-06-16 11:01:34 -07:00
Corbin Simpson
61145c0d5c
r300g: Fix MSAA state size.
2010-06-16 10:54:09 -07:00
Corbin Simpson
8ecca392da
r300g: Don't multisample non-32-bpp render targets.
2010-06-16 10:54:09 -07:00
Corbin Simpson
68cefb423a
r300g: Finish resolve function.
2010-06-16 10:54:08 -07:00
Corbin Simpson
e163fc0b15
r300g: Add resource resolve function.
2010-06-16 10:54:08 -07:00
Corbin Simpson
a91fea65dc
r300g: Moar MSAA setup.
...
Need to just add the resolve, then go switch to new DRM and test.
2010-06-16 10:54:08 -07:00
Corbin Simpson
3784b0fa69
r300g: Fix indentation.
...
I could *not* let this slide since I'm on a 78-char-wide terminal.
2010-06-16 10:54:08 -07:00
Corbin Simpson
5c58618406
r300g: Old MSAA code from before gallium-msaa.
2010-06-16 10:54:06 -07:00
Zack Rusin
92e521a799
softpipe/gs: fix a crash when a gs isn't present
2010-06-15 09:12:19 -04:00
Marek Olšák
0452d52ae3
r300g: initialize US_CODE_BANK on r4xx
2010-06-14 23:39:56 +02:00
Marek Olšák
8ad410dc13
r300g: fix uploading RC state shader constants on r3xx
...
I've messed this up in one of my previous commits.
Reported-by: Igor Murzov
2010-06-14 13:03:13 +02:00
Marek Olšák
1c0e5ba9f1
r300g: drop begin_cs/end_cs
...
I have had a look at the libdrm sources and they just contain more or less
the same checking we do in macros, and begin_cs may realloc the CS buffer
if we overflow it, which never happens with r300g. So these are pretty
much useless.
There is a small but measurable performance increase by dropping the two
functions.
2010-06-14 12:46:38 +02:00
Marek Olšák
cf3778bae0
r300g: rewrite occlusion queries
...
The previous implementation had issues with queries spanning over several
command streams as well as using a very large number of queries.
This fixes flickering in Enemy Territory: Quake Wars. The driver now renders
everything correctly in this game and the graphics is awesome.
2010-06-14 12:46:38 +02:00
Marek Olšák
824c1f6a4a
r300g: emit viewport state as a dword table
2010-06-14 12:46:37 +02:00
Marek Olšák
8874c9d7a3
r300g: subclass pipe_surface
2010-06-14 12:46:37 +02:00
Marek Olšák
39826a2036
r300g: simplify reloc macros
2010-06-14 12:46:37 +02:00
Marek Olšák
c1f18bff3e
r300g: count CS dwords on debug builds only
2010-06-14 00:52:11 +02:00
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
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
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
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
Roland Scheidegger
26d5d4d995
llvmpipe: fix copy & paste bug in clear logic
...
fixes bug 28450.
2010-06-09 18:46:52 +02:00