Commit graph

2722 commits

Author SHA1 Message Date
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