Commit graph

27505 commits

Author SHA1 Message Date
Brian Paul
212f3a6cb3 llvmpipe: tweak subpixel_snap() arithmetic
This adjustment fixes some rasterization differences between llvmpipe
and softpipe (and other renderers).
2010-01-13 09:32:21 -07:00
Keith Whitwell
db83ad4b43 llvmpipe: improve empty-bin test further
Remove unused param, add comments.  Thanks to Brian for review.
2010-01-13 16:29:39 +00:00
Keith Whitwell
f4b29e6ad3 llvmpipe: improve empty-bin test
We emit at most two clear packets (color and z respectively).
2010-01-13 15:49:24 +00:00
Keith Whitwell
da45f49cc6 llvmpipe: quick hack to short-circuit empty bins 2010-01-13 15:18:32 +00:00
José Fonseca
1b333453e4 svga: Fix compile_vs error code.
It could erroneously return PIPE_OK in some circumstances.

Make compile_fs code identical.
2010-01-13 13:40:09 +00:00
Michal Krol
ea0cc47a4f svga: Fix call to translate::run(). 2010-01-13 11:13:00 +01:00
Corbin Simpson
aeb34b2489 r300g: Account for CS space used per atom.
Oh yeah, those atoms are startin' to pay off. The main obstacle now
for OA playability is the absurdly low default mouse sensitivity, IMO.
Not totally smooth yet, but getting there.
2010-01-13 01:44:58 -08:00
Corbin Simpson
a930dc7ee9 r300g: Two dirty state optimizations. 2010-01-13 01:07:49 -08:00
Corbin Simpson
ae4eb25132 r300g: DCE in emit. 2010-01-13 00:57:03 -08:00
Vinson Lee
831764fa75 swrast: Remove unnecessary header from s_fragprog.c. 2010-01-12 23:54:15 -08:00
Corbin Simpson
e4e5acc833 r300g: Lower the immd mode threshold. 2010-01-12 22:22:22 -08:00
Vinson Lee
d6588a9372 swrast: Remove unnecessary header in s_lines.c. 2010-01-12 21:59:58 -08:00
Corbin Simpson
c1db20280c r300g: Fix is_r400 status for rs4xx and rc4xx.
As suggested by agd5f.
2010-01-12 21:52:00 -08:00
Vinson Lee
7debc532d5 swrast: Remove unnecessary header from s_points.c. 2010-01-12 21:51:19 -08:00
Corbin Simpson
948b7e97a6 r300g: Switch to immediate mode for tiny renders.
Useful for e.g. blitter.
2010-01-12 21:50:14 -08:00
Vinson Lee
11034bfa97 swrast: Remove unnecessary header from s_readpix.c. 2010-01-12 21:41:09 -08:00
Vinson Lee
a01b9eac04 swrast: Remove unnecessary header from s_texcombine.c. 2010-01-12 20:36:33 -08:00
Vinson Lee
c239f38709 tnl: Remove unnecessary header from t_context.c. 2010-01-12 20:14:36 -08:00
Vinson Lee
2c7cf3f9c9 tnl: Remove unnecessary headers from t_draw.c. 2010-01-12 20:02:44 -08:00
Vinson Lee
dffcbee8e7 tnl: Remove unnecessary header from t_pipeline.c. 2010-01-12 19:55:24 -08:00
Vinson Lee
a24d852630 tnl: Remove unnecessary header from t_rasterpos.c. 2010-01-12 19:49:19 -08:00
Vinson Lee
264f4101cd tnl: Remove unnecessary header from t_vb_program.c. 2010-01-12 19:45:25 -08:00
Marek Olšák
50ae9c6073 r300g: emit blend LTE/GTE thresholds on >=RV350
As per classic r300.
2010-01-12 18:08:58 -08:00
Marek Olšák
46992664d1 r300g: update the texture initialization so that it respects tiling
This is still work-in-progress and tiling is not enabled by default.
2010-01-12 18:08:58 -08:00
Marek Olšák
99ea4c0c7e r300g: add emission of texture tiling bits 2010-01-12 18:08:58 -08:00
Marek Olšák
e279d18232 r300g: add is_r400 flag
r4xx has some additional fragment shader registers compared to r3xx.
2010-01-12 18:08:58 -08:00
Marek Olšák
4c9a8a14e5 r300g: silence a warning 2010-01-12 18:08:58 -08:00
Marek Olšák
f3c4f2ef62 r300g: only emit scissor when needed
Reverting some bits from ce1c493ff8.

Given the latest fixes, it's not needed to always emit scissor, really.
2010-01-12 18:08:57 -08:00
Marek Olšák
a2926a2a8b Revert "r300g: Placate kernel checker by explicitly disabling depth test."
This reverts commit e920ee23b3.

Assuming the FB state is not dirty and the DSA state is, then the depth test
will be re-enabled, making the kernel checker angry. Reverting the commit
fixes piglit/glsl-bug-22603.
2010-01-12 18:08:57 -08:00
Marek Olšák
6633484774 r300g: mark all states as dirty after flush
It fixes almost all regressions introduced lately.
2010-01-12 18:08:57 -08:00
Vinson Lee
c631501003 vbo: Remove unnecessary headers from vbo_exec.c. 2010-01-12 17:07:24 -08:00
Vinson Lee
94d238e757 vbo: Remove unnecessary header from vbo_exec_array.c. 2010-01-12 16:55:36 -08:00
Vinson Lee
37d326503d vbo: Remove unnecessary header from vbo_exec_draw.c. 2010-01-12 16:37:30 -08:00
Brian Paul
7e4c75c040 llvmpipe: fix indentation, comment typo 2010-01-12 17:12:49 -07:00
Brian Paul
ec9cfac768 llvmpipe: debug checks: make sure scene is empty at key points 2010-01-12 17:12:07 -07:00
Brian Paul
c560b97b17 llvmpipe: assert that we're putting data into a valid bin 2010-01-12 17:11:40 -07:00
Brian Paul
214ffad015 llvmpipe: clamp maxx,maxy to framebuffer size (in terms of tiles)
In some corner cases the right-most / bottom-most vertex can be
right on the edge of the framebuffer.  Because the maxx, maxy vals
are computed with a series of float/int, pixel/tile transformations
we can end up with maxx >= scene->x_tiles or maxy >= scene->y_tiles.
This leads to putting data into bins that never get processed, or
reset.  This becomes stale data that can lead to segfaults.

Clamping fixes this.
2010-01-12 17:08:07 -07:00
Brian Paul
de10168a46 llvmpipe: added lp_scene_is_empty() 2010-01-12 17:06:19 -07:00
Brian Paul
4061ca02dd llvmpipe: silence unused var warnings 2010-01-12 13:01:32 -07:00
Michal Krol
8c53a2576e gallium: draw_arrays/elements_instanced() are of type void. 2010-01-12 18:51:27 +01:00
Brian Paul
a32e9b2a2d llvmpipe: remove unused #define 2010-01-12 10:11:36 -07:00
Marcin Slusarz
90762bd355 nv50: fix 2 off by one memory leaks (nv50_miptree_level->image_offset) 2010-01-12 17:39:23 +01:00
Marcin Slusarz
c83093973e nv50: fix memory leak on nv50_pc free 2010-01-12 17:38:52 +01:00
Roland Scheidegger
a407636efb gallium: remove point_size_min and point_size_max from rasterizer state
The state tracker is responsible for clamping to any graphics API enforced
size min/max limits for both the static point_size setting as well as per
vertex point size (in the vertex shader).
Note that mesa state tracker didn't actually use these values.
2010-01-12 15:54:13 +01:00
José Fonseca
26c78a4968 gallium: Rename ALIGN_STACK -> PIPE_ALIGN_STACK for consistency. 2010-01-12 12:15:24 +00:00
José Fonseca
5dfd5ed5e7 gallium: Simplify PIPE_ALIGN_VAR.
gcc allows pre-fix variable attributes.

Suggested by Ian Romanick.
2010-01-12 12:11:04 +00:00
José Fonseca
86bfe974b8 gallium: Generalize the alignment macros to other compilers and any alignment. 2010-01-12 12:11:04 +00:00
Corbin Simpson
ce1c493ff8 r300g: Always emit scissors.
Save some code, improve FPS, and fix piglit tests. Everybody wins.
2010-01-12 02:33:55 -08:00
Chia-I Wu
28272bc472 st/egl_g3d: Get the stapi from the driver.
egl_g3d_get_st was called because the driver argument was not given
before.  It can be fixed now.
2010-01-12 17:56:48 +08:00
Chia-I Wu
3e6139d158 egl: Add _EGLDriver as the first argument to GetProcAddress.
The rest of the driver API has it as the first argument.  It should be
there so that a driver has access to itself.
2010-01-12 17:53:57 +08:00