Commit graph

1783 commits

Author SHA1 Message Date
Keith Whitwell
fd31f92cea gallium: simplify tgsi_full_immediate struct
Remove the need to have a pointer in this struct by just including
the immediate data inline.  Having a pointer in the struct introduces
complications like needing to alloc/free the data pointed to, uncertainty
about who owns the data, etc.  There doesn't seem to be a need for it,
and it is unlikely to make much difference plus or minus to performance.

Added some asserts as we now will trip up on immediates with more
than four elements.  There were actually already quite a few such asserts,
but the >4 case could be used in the future to specify indexable immediate
ranges, such as lookup tables.
2009-07-22 12:42:09 +01:00
Michel Dänzer
0b7a907f39 gallium/trace: Fix SCons build. 2009-07-20 02:05:38 +02:00
Michel Dänzer
3326be6c0a r300g: Guard R500 register writes by is_r500 check.
Flagged by the DRM command stream checker. This allows the driver to work on
non-R500 cards.
2009-07-20 01:53:15 +02:00
Brian Paul
b96ae1b2c4 Merge branch 'mesa_7_5_branch'
Conflicts:

	Makefile
	progs/glsl/multitex.c
	src/mesa/main/enums.c
	src/mesa/main/state.c
	src/mesa/main/texenvprogram.c
	src/mesa/main/version.h
2009-07-17 22:00:47 -06:00
Keith Whitwell
3858f47994 tgsi: initial texturing support on sse path
Most obvious problem is drawpixels comes out blocky, but this may be
an existing issue of KIL on the sse path.
2009-07-16 11:37:52 +01:00
Keith Whitwell
ebc4a9bf2e tgsi: reduce x86 reg usage in tgsi_sse generated programs
Pass the tgsi_exec_machine struct in directly and just hold a single
pointer to this struct, rather than keeping one for each of its
internal members.
2009-07-16 09:53:08 +01:00
Keith Whitwell
6175653d0b gallium: proper constructor and destructor for tgsi_exec_machine
Centralize the creation, initialization and destruction of this struct.
Use align_malloc instead of home-brew alternatives.
2009-07-16 09:53:07 +01:00
Luca Barbieri
6b7b13b5eb softpipe: limit blend results to [0,1] 2009-07-15 11:34:36 -06:00
Patrice Mandin
54cf63278f gallium: Define PIPE_CAP_BLEND_EQUATION_SEPARATE, remove extension from default extension list 2009-07-14 09:44:49 +02:00
Nicolai Hähnle
59155f70e7 r300g: Small compile warning fixes.
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
2009-07-13 16:26:29 -07:00
Nicolai Hähnle
b3f1d370a2 r300g, radeon: Whitespace fixes.
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
2009-07-13 16:26:29 -07:00
Corbin Simpson
ca28e591f2 r300g: Use align() instead of inline maths. 2009-07-13 16:26:29 -07:00
Corbin Simpson
67a43b2cfc r300g: Remove VAP_CNTL_STATUS from invariant state.
Seriously.
2009-07-08 11:59:56 -07:00
Corbin Simpson
c737e57357 r300g: Disable MSPOS registers for glisse's CS security checker.
These will come back in someday, when we can properly use them.
2009-07-08 11:55:27 -07:00
Corbin Simpson
746140e215 r300-gallium: Unify sampler and texture emit.
They have to cross into each other's registers.
2009-07-08 11:39:34 -07:00
Corbin Simpson
1aa38b2c2d r300-gallium: Mipmap setup.
(cherry picked from commit 88c01a15da5639dd68a6a0133724994cb66f1316)
2009-07-08 11:30:59 -07:00
Corbin Simpson
e46d12d394 r300g: Add endian fix to vertex fetcher setup.
As reported and initially tested by MrCooper.
2009-07-08 11:27:26 -07:00
Jakob Bornecrantz
862488075c Merge branch 'mesa_7_5_branch'
Conflicts:
	src/mesa/main/dlist.c
	src/mesa/vbo/vbo_save_api.c
2009-07-03 18:53:58 +02:00
Jakob Bornecrantz
c0d7502a2c trace: Add drm api integration
This is okay since drm_api.h doesn't have any external
	dependancies, one could make it only compile on platforms
	that support drm.
2009-07-02 14:57:55 +02:00
Corbin Simpson
96ef7aae1d r300g: Fix recursive Draw flush.
Also just noticed that demos/copypix walks around the overlapping blit rules.

Bad, bad Mesa. :3
2009-07-01 23:25:47 -07:00
Corbin Simpson
8799a9d24d r300g: Use floats for surface_copy texcoords, use correct src and dest.
This makes demos/copypix better-looking. Horizontal dimensions are right now.
2009-07-01 23:09:18 -07:00
Ben Skeggs
18a1c36c2d nouveau: return some supported zeta formats 2009-07-01 09:26:57 +10:00
Ben Skeggs
55e5ac17c1 nouveau: deal with PIPE_CAP_TGSI_CONT_SUPPORTED 2009-07-01 09:26:57 +10:00
Jakob Bornecrantz
64849d1236 drm/st: Remove drm_api struct from drivers
Remove the drm_api from the functions in the softpipe and
	i915simple drivers. Create wrapper functions in the
	backends instead.
2009-07-01 01:20:04 +02:00
Brian Paul
b750b9fc3d gallium: remove the pipe_sampler_state::shadow_ambient field
This was only present for the sake of GL_ARB_shadow_ambient which we
never implemented in Gallium.  If we someday want GL_ARB_shadow_ambient
we can implement it in the state tracker by adding a MAD after the
relevant TEX instructions.
2009-06-30 08:51:32 -06:00
Zack Rusin
1c04731b87 gallium: fix the front face semantics
mesa allocates both frontface and pointcoord registers within the fog
coordinate register, by using swizzling. to make it cleaner and easier
for drivers we want each of them in its own register. so when doing
compilation from the mesa IR to tgsi allocate new registers for both
and add new semantics to the respective declarations.
2009-07-01 10:45:55 -04:00
Jakob Bornecrantz
f7cbaae13d identity: Create a drm_api wrapper 2009-06-30 12:24:47 +02:00
Jakob Bornecrantz
303cbb45b5 drm/st: Return drm_api struct from a function 2009-06-30 12:20:39 +02:00
Brian Paul
efe9faf061 softpipe: use shadow_compare4() to compare texcoord to four texture samples 2009-06-29 22:46:55 -06:00
Brian Paul
005ee9f4e0 softpipe: pass sampler state to shadow_compare() 2009-06-29 22:46:49 -06:00
Younes Manton
0eb1b3fac1 nouveau: Expect right params to tex_transfer_destroy().
Never crashed on x86, ptx is in the same stack slot in either case.
Thanks to Bob Gleitsmann for catching this.
2009-06-29 22:22:25 -04:00
Younes Manton
78aaf2a4f1 nouveau: Turn off debug cannon. 2009-06-29 22:22:25 -04:00
Brian Paul
928e1ce47f cell: PIPE_CAP_TGSI_CONT_SUPPORTED query 2009-06-26 13:16:34 -06:00
Brian Paul
af7fb892d8 softpipe: PIPE_CAP_TGSI_CONT_SUPPORTED query 2009-06-26 13:16:34 -06:00
Brian Paul
0487656245 softpipe: return alpha=1 in shadow_compare() function
The alpha value wasn't set at all before so we got unpredictable results.

Note that we don't currently obey GL_DEPTH_TEXTURE_MODE in the state
tracker.  For now, we return the result in the default mode (r,r,r,1).
2009-06-19 08:53:15 -06:00
José Fonseca
d609df1dae trace: Use size_t consistently. 2009-06-18 14:54:09 +01:00
Brian Paul
742ba08406 softpipe: fix out of bounds quad rasterization bug
For some triangles we can generate quads which lie just outside the
surface bounds.  Just check the quad's mask before trying to emit/process
the quad.

Fixes failed assertion in Lightsmark.
2009-06-16 15:41:49 -06:00
José Fonseca
5d0cf9ebb4 softpipe: Fix softpipe_is_texture_referenced.
Render results are only visible when the render cache is flushed.
softpipe_is_texture_referenced must reflect that or transfers to/from the
textures bound in the framebuffer won't be proceeded of the necessary
flush, causing transfer data to be outdated/clobbered.

This fixes conform drawpix test with softpipe.
2009-06-15 18:42:13 +01:00
Corbin Simpson
928a568417 r300g: YCbCr and sRGB textures. 2009-06-27 12:07:59 -07:00
Corbin Simpson
f150e05afc r300g: Fix EXT_packed_depth_stencil functionality.
Allow Z24S8 to be a true texture.
2009-06-27 12:07:59 -07:00
Corbin Simpson
3f15acb7e8 r300g: EXT_provoking_vertex. 2009-06-26 21:48:09 -07:00
Corbin Simpson
6ebcdc7549 r300g: S3TC.
tests/texcompress2 doesn't work, but tests/texcmp does (more or less.)
2009-06-26 21:25:41 -07:00
Corbin Simpson
aac6648cd8 r300g: Use real texture formats.
What bugs me is that the YUV444 format somehow worked properly. :3
2009-06-26 21:25:41 -07:00
Corbin Simpson
7a3224c334 r300g: Definitively forbid unusable Z buffer/stencil formats. 2009-06-26 21:25:40 -07:00
Corbin Simpson
9e7d195fdc r300g: Comment out assert for now.
Will fix with better constant refactoring later.
2009-06-26 21:25:40 -07:00
Corbin Simpson
00ffc90dd2 r300g: Be more specific on surface_copy fallbacks. 2009-06-26 21:25:40 -07:00
Corbin Simpson
6a926f9997 r300g: PIPE_CAP_TGSI_CONT_SUPPORTED. 2009-06-26 21:25:40 -07:00
Corbin Simpson
f80b7f4683 r300-gallium: Ensure that no dirty state goes unemitted. 2009-06-26 21:25:40 -07:00
Brian Paul
a18e209edb Merge branch 'mesa_7_5_branch'
Conflicts:

	Makefile
	src/gallium/drivers/softpipe/sp_screen.c
	src/mesa/main/version.h
2009-06-26 17:07:07 -06:00
Jakob Bornecrantz
210ad58ee3 trace: Don't write state objects to file if dumping is not set 2009-06-14 06:07:50 +02:00