Christoph Bumiller
ebbc73d1ae
nv50: correct the negation of DDY sources
...
The state tracker now does the correct thing, so
interpret negation normally.
2009-12-22 10:14:45 +01:00
Roland Scheidegger
ba25137655
svga: fix typo
2009-12-21 18:20:01 +01:00
Corbin Simpson
32d737397c
r300g: Add a few more params.
2009-12-20 15:47:48 -08:00
Christoph Bumiller
b3ac75f7eb
nv50: make address reg allocation a little less hacky
...
Before I tried to distinguish int +0 and -0, and regs
relative to $a1 would have been considered reserved
for TGSI.
This would probably never occur, let it be fixed even so.
2009-12-20 14:15:51 +01:00
Christoph Bumiller
2ed083dda9
nv50: use BREAKADDR and BREAK for loops
...
This is easier, we don't have to record all the BRK branches
to fill in the address at ENDLOOP - which wasn't done before
and thus made all but the last BRK branch jump to the start.
Also, we don't risk reactivting threads that already left
the loop if we join threads after a conditional with a BRK
(although it might be wiser to remove the join altogether
in such cases).
2009-12-20 14:15:51 +01:00
Christoph Bumiller
3c7f109d67
nv50: handle TGSI_OPCODE_RET,KILP
2009-12-20 14:15:51 +01:00
Marek Olšák
6ba83cd63f
r300g: add texture compare modes
2009-12-19 23:54:53 -08:00
Corbin Simpson
759fd1f25f
r300g: Fix provoking vertex for non-quads.
...
Read the comments. In short, we can't possibly pass piglit's
glean/clipFlat without some help from Gallium and an API/spec change.
2009-12-18 21:50:45 -08:00
Corbin Simpson
f13a904c34
r300g: Respect provoking vertex for trifans.
...
Fixes part of piglit's clipFlat test; next up is to get quads right.
2009-12-18 19:49:14 -08:00
Corbin Simpson
bf611cef29
r300g: Eliminate a couple more asserts.
2009-12-18 14:07:12 -08:00
Corbin Simpson
62afcbb233
r300g: Nuke r300_vbo.
2009-12-18 14:07:12 -08:00
Michal Krol
b1ed72ebe2
Move the remaining format pf_get_* functions to u_format.h.
...
Previously they depended on format blocks, but after removing those
they started depending on format encoding.
2009-12-17 23:41:57 +01:00
Michal Krol
16c6dce013
Merge branch 'master' into pipe-format-simplify
...
Conflicts:
src/gallium/auxiliary/draw/draw_pipe_aaline.c
src/gallium/auxiliary/draw/draw_pipe_pstipple.c
src/gallium/auxiliary/util/u_blit.c
src/gallium/auxiliary/util/u_gen_mipmap.c
src/gallium/auxiliary/util/u_surface.c
src/gallium/auxiliary/vl/vl_mpeg12_mc_renderer.c
src/gallium/drivers/cell/ppu/cell_texture.c
src/gallium/drivers/llvmpipe/lp_texture.c
src/gallium/drivers/r300/r300_emit.c
src/gallium/drivers/r300/r300_texture.c
src/gallium/drivers/softpipe/sp_texture.c
src/gallium/drivers/softpipe/sp_tile_cache.c
src/gallium/drivers/svga/svga_state_vs.c
src/gallium/include/pipe/p_format.h
src/gallium/state_trackers/dri/dri_drawable.c
src/gallium/state_trackers/egl/egl_surface.c
src/gallium/state_trackers/python/p_device.i
src/gallium/state_trackers/python/st_softpipe_winsys.c
src/gallium/state_trackers/vega/api_filters.c
src/gallium/state_trackers/vega/image.c
src/gallium/state_trackers/vega/mask.c
src/gallium/state_trackers/vega/paint.c
src/gallium/state_trackers/vega/renderer.c
src/gallium/state_trackers/vega/vg_tracker.c
src/gallium/state_trackers/xorg/xorg_crtc.c
src/gallium/state_trackers/xorg/xorg_dri2.c
src/gallium/state_trackers/xorg/xorg_exa.c
src/gallium/state_trackers/xorg/xorg_renderer.c
src/gallium/state_trackers/xorg/xorg_xv.c
src/gallium/state_trackers/xorg/xvmc/surface.c
src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c
src/gallium/winsys/drm/radeon/core/radeon_buffer.c
src/gallium/winsys/egl_xlib/sw_winsys.c
src/gallium/winsys/g3dvl/xlib/xsp_winsys.c
src/gallium/winsys/gdi/gdi_llvmpipe_winsys.c
src/gallium/winsys/gdi/gdi_softpipe_winsys.c
src/gallium/winsys/xlib/xlib_cell.c
src/gallium/winsys/xlib/xlib_llvmpipe.c
src/gallium/winsys/xlib/xlib_softpipe.c
src/mesa/state_tracker/st_cb_fbo.c
src/mesa/state_tracker/st_cb_texture.c
src/mesa/state_tracker/st_texture.c
2009-12-17 22:37:15 +01:00
Michal Krol
3af2ddbe94
s/desc->type/desc->channel[0].type/
2009-12-17 21:25:47 +01:00
José Fonseca
2584c5bd25
llvmpipe: add LP_DEBUG env var
...
Cherry-picked from dec35d04ae .
2009-12-16 15:06:17 +00:00
Brian Paul
f1f49bd465
llvmpipe: fix broken TGSI_OPCODE_FRC codegen
2009-12-16 15:06:17 +00:00
Brian Paul
43d6c81ae2
llvmpipe: fix broken lp_build_abs()
2009-12-16 15:06:16 +00:00
Marek Olšák
2ddee2cfbc
r300g: fix emission of which textures are enabled
...
It fixes most of the "Bad CS" issues in piglit/texCombine and piglit/fbo.
Some other issues of this kind will get fixed in the kernel soon (depth-only
rendering, S3TC, and RGTC).
2009-12-15 19:04:46 -08:00
Marek Olšák
ded4ecde60
r300g: clean up the invariant state
2009-12-15 19:04:46 -08:00
Marek Olšák
acce4824ec
r300g: clamp vertex indices to [min,max] everywhere
2009-12-15 19:04:46 -08:00
Marek Olšák
a6d701d1c6
r300g: if no colorbuffers are set, disable blending and set the color mask to 0
...
This seems to be the only way to disable the first colorbuffer.
2009-12-15 19:04:46 -08:00
Marek Olšák
cf85bf9cd0
r300g: set the number of colorbuffers in RB3D_CCTL
2009-12-15 19:04:46 -08:00
Marek Olšák
de0befc4b2
r300g: remove unnecessary flush in set_sampler_textures
2009-12-15 19:04:45 -08:00
Marek Olšák
c5e0b0bc37
r300g: add Z24X8 to the list of unsupported sampler formats on R3xx-R4xx
2009-12-15 19:04:45 -08:00
Marek Olšák
38a97148bf
r300g: add acceleration of the clear, surface_copy, and surface_fill functions
2009-12-15 19:04:45 -08:00
José Fonseca
3a15c48ece
llvmpipe: Fix yet another copynpaste typo in lp_build_log2_approx.
...
Now fslight looks perfect.
2009-12-15 14:46:43 +00:00
José Fonseca
85c27c3ef7
llvmpipe: Fix lp_build_polynomial comment.
2009-12-15 14:15:52 +00:00
José Fonseca
72c9878069
llvmpipe: Fix typo in lp_build_log constant.
2009-12-15 13:58:53 +00:00
José Fonseca
846e38f1c3
llvmpipe: Fix bad SI -> FP conversion into lp_build_log2_approx.
...
It should be a bitcast as the integer value is actually an encoded FP
already.
2009-12-15 13:15:16 +00:00
Maarten Maathuis
41b52aa336
nouveau: avoid running out of relocs
...
- Added flush notify functions for NV30 and NV40.
- Flushing mid frame will call flush notify, which will resubmit all
relocs.
- We don't try to recover from reloc failure yet.
2009-12-14 19:31:54 +01:00
Christoph Bumiller
2677f199a5
nv50: be more cautious about using reg_instance
...
Trying to free part of nv50_pc->reg_instances[] for an
nv50_reg representing an indirect constant resulted in
a segmentation fault.
2009-12-14 18:39:13 +01:00
Christoph Bumiller
1778ddaf74
nv50: store immediates as uint32
...
Sometimes we want non-float immediates, hacking them into
floats isn't nice.
Sorry, this should have already been committed before.
2009-12-14 11:12:59 +01:00
Patrice Mandin
d4d880199e
nouveau: nv50: Add missing ctor_immd_4u32 function
2009-12-13 20:09:33 +01:00
Christoph Bumiller
079b670111
nv50: add proper zslice offset in miptree_surface
2009-12-13 14:39:19 +01:00
Christoph Bumiller
7b5a6fa0c8
nv50: use m2mf z pos instead of calculating offset manually
2009-12-13 14:39:19 +01:00
Christoph Bumiller
44d8c9add2
nv50: add craziness for non-constant TXB and TXL
...
If lod or bias can be non-constant across a quad of fragments,
we need to execute TEX separately for each value.
Don't ask why.
2009-12-13 14:39:19 +01:00
Patrice Mandin
b91503f457
Revert "nouveau: nv30: Disable swizzled surface usage if any dimension is 1 (Warsow creates a 1x1 front buffer)"
...
This reverts commit ec7844537e .
2009-12-12 23:15:08 +01:00
Patrice Mandin
ec7844537e
nouveau: nv30: Disable swizzled surface usage if any dimension is 1 (Warsow creates a 1x1 front buffer)
2009-12-12 22:31:53 +01:00
Christoph Bumiller
d80778218d
nv50: support TXB and TXL
...
... and don't set the 'live' flag for TEX anymore, we'd
have to know if results affect the inputs for another TEX,
and I'm not going to do that kind of analysis now.
2009-12-12 16:39:00 +01:00
Christoph Bumiller
b0036f391a
nv50: add S8Z24 depth texture format too
2009-12-12 16:38:59 +01:00
Christoph Bumiller
cc0ffaba7d
nv50: fix depth comparison func TSC bits
...
Unfortunately it seems that if depth comparison is
active and we read a 2D texture, i.e. provide only
2 inputs, the second is used for comparison ...
2009-12-12 16:38:59 +01:00
Christoph Bumiller
6a689783b9
nv50: add src_mask case for IF opcode
2009-12-12 16:38:59 +01:00
Christoph Bumiller
9f3644c423
nv50: plug memory leak in miptree creation/destruction
...
Keeping this dynamically allocated for texture arrays.
Since we don't use it to store zslice offsets anymore
it's either 1 or 6 integers (cube) ...
2009-12-12 16:38:59 +01:00
Christoph Bumiller
f7a9734492
nv50: use copies of tgsi src nv50_regs
...
So we can use the 'mod' member without concern
if a source is used multiple times in 1 insn.
2009-12-12 16:38:59 +01:00
Christoph Bumiller
6a15ec9141
nv50: support vertex program textures
2009-12-12 16:38:59 +01:00
Brian Paul
a087eb590d
Merge branch 'mesa_7_7_branch'
...
Conflicts:
src/gallium/state_trackers/xorg/xorg_xv.c
src/mesa/drivers/dri/intel/intel_span.c
2009-12-11 10:04:07 -07:00
José Fonseca
ffae1f938d
svga: Add a missing dependency from the prescale state.
...
Thanks for Keith to finding this.
Fixes Jedi Knight 2 menus.
2009-12-11 14:14:03 +00:00
José Fonseca
8469baf41b
svga: Always pass SVGA3D_SURFACE_HINT_DYNAMIC.
...
Since we're reusing buffers we're effectively transforming all
of them into dynamic buffers.
It would be nice to not cache long lived static buffers. But there
is no way to detect the long lived from short lived ones yet. A
good heuristic would be buffer size.
2009-12-11 13:15:12 +00:00
José Fonseca
16876b8328
svga: Keep tight control of texture handle ownership.
...
The texture owns the surface handle. All derivatives need to keep
a reference to texture.
This fixes several assertions failures starting up Jedi Knight 2.
Should cause no change for DRM surface sharing -- reference count still
done as before there.
2009-12-11 12:29:02 +00:00
José Fonseca
770323e33e
svga: Fix mixed signed comparisons.
2009-12-11 12:28:53 +00:00