Keith Whitwell [Fri, 15 Feb 2008 09:31:22 +0000 (09:31 +0000)]
gallium: reorganize fragment shader execution, unbreak sse
This is probably going to get further reworked in the near future.
Right now there's a new interface wrapped around each shader execution
mode - exec, sse2, llvm. The llvm code was disabled already and has
just been moved as-is to a new file, whereas the sse2 and exec code is
actually enabled.
The way the interfaces has turned out suggests to me that the correct
approach is to actually have each shader include a pointer to a quad stage
which will do a better job of encapsulating the execution environment than
what I have here -- that's a second step however.
Keith Whitwell [Fri, 15 Feb 2008 08:56:04 +0000 (08:56 +0000)]
tgsi: disable dummy sse2 texture code
Keith Whitwell [Thu, 14 Feb 2008 13:36:21 +0000 (13:36 +0000)]
gallium: Minor cleanups to bitfield sizes, etc.
Keith Whitwell [Thu, 14 Feb 2008 12:14:46 +0000 (12:14 +0000)]
tgsi: partially unbreak sse fragment shaders. more to do.
Keith Whitwell [Wed, 13 Feb 2008 18:29:29 +0000 (18:29 +0000)]
x86: fix assignment in assert typo
Keith Whitwell [Wed, 13 Feb 2008 12:37:42 +0000 (12:37 +0000)]
x86: remove debug
Keith Whitwell [Wed, 13 Feb 2008 12:35:16 +0000 (12:35 +0000)]
x86: emit absolute calls, as reallocating exec mem breaks relative ones
Keith Whitwell [Wed, 13 Feb 2008 11:39:34 +0000 (11:39 +0000)]
tgsi: fail gracefully when sse code can't emit shader
Keith Whitwell [Wed, 13 Feb 2008 11:35:54 +0000 (11:35 +0000)]
x86: reallocate exec mem when we run out
Keith Whitwell [Wed, 13 Feb 2008 10:02:59 +0000 (10:02 +0000)]
tgsi: include more of the register info in debug dumps
Michel Dänzer [Wed, 13 Feb 2008 11:39:58 +0000 (11:39 +0000)]
gallium: pipe->surface_copy can flip the contents vertically when necessary.
Fixes gears being upside down on the box in demos/gearbox.
Zack Rusin [Wed, 13 Feb 2008 09:38:10 +0000 (04:38 -0500)]
handle temporaries in llvm code generated paths
Zack Rusin [Wed, 13 Feb 2008 09:37:40 +0000 (04:37 -0500)]
implement add
Zack Rusin [Wed, 13 Feb 2008 08:18:37 +0000 (03:18 -0500)]
implement mul
Zack Rusin [Wed, 13 Feb 2008 05:48:08 +0000 (00:48 -0500)]
get mov working
Zack Rusin [Wed, 13 Feb 2008 05:36:31 +0000 (00:36 -0500)]
fix fetching input elements and generate a ret on end
Zack Rusin [Wed, 13 Feb 2008 05:21:24 +0000 (00:21 -0500)]
add functiontype for the llvm native vs entry point
Zack Rusin [Wed, 13 Feb 2008 05:21:03 +0000 (00:21 -0500)]
disable llvm code in fs
Zack Rusin [Wed, 13 Feb 2008 04:08:42 +0000 (23:08 -0500)]
stop generate llvm entry points
entrypoints are useless because we use the same paths as all other
code. also simplify llvm swizzling code
Zack Rusin [Tue, 12 Feb 2008 10:35:51 +0000 (05:35 -0500)]
llvm ir code to fetch the elements
Brian [Wed, 13 Feb 2008 02:14:58 +0000 (19:14 -0700)]
gallium: initial code for wide/AA line drawing
Brian [Wed, 13 Feb 2008 00:44:57 +0000 (17:44 -0700)]
gallium: fix/finish glReadPixels(GL_DEPTH_COMPONENT).
This fixes demos/reflect ('d' key) and tests/zreaddraw.c
Brian [Wed, 13 Feb 2008 00:07:27 +0000 (17:07 -0700)]
gallium: clamp min_lod so it's never negative
Brian [Tue, 12 Feb 2008 23:56:18 +0000 (16:56 -0700)]
Fix broken test.
As-is, if the texture was too large for the target, an assertion would fail.
Now check proxy texture first and if it works, then test non-proxy target.
Brian [Tue, 12 Feb 2008 23:38:56 +0000 (16:38 -0700)]
gallium: remove dead code
Brian [Tue, 12 Feb 2008 23:37:49 +0000 (16:37 -0700)]
gallium: added null ptr check
Brian [Tue, 12 Feb 2008 23:10:11 +0000 (16:10 -0700)]
gallium: rename st_fragment_program's fs field to cso to match st_vertex_program
Brian [Tue, 12 Feb 2008 23:06:51 +0000 (16:06 -0700)]
gallium: move gen-mipmap global/static vars into st_context
This fixes potential problems with multi-context programs.
Brian [Tue, 12 Feb 2008 22:53:37 +0000 (15:53 -0700)]
Set Min/MaxLod with glTexParameterf, not glTexParameteri
Brian [Mon, 11 Feb 2008 16:46:10 +0000 (09:46 -0700)]
press 0,1,2,etc keys for specific bias values
Brian [Tue, 12 Feb 2008 21:59:07 +0000 (14:59 -0700)]
tweak incr/decrements amounts for keyboard options
Brian [Tue, 12 Feb 2008 21:55:51 +0000 (14:55 -0700)]
gallium: remove unused first_level param from st_texture_create()
Brian [Tue, 12 Feb 2008 21:53:25 +0000 (14:53 -0700)]
gallium: clean-up, simplification of mipmapped textures
Remove pipe_texture->first_level (always implicitly zero). This means there's
never any unused mipmap levels at the top.
In the state tracker, we no longer re-layout mipmapped textures if the
MinLod/MaxLod texture parameters change. It's up to the driver to obey the
pipe_sampler->min/max_lod clamps.
Brian [Mon, 11 Feb 2008 17:59:40 +0000 (10:59 -0700)]
gallium: take pitch/stride into account in mipmap generation
Brian [Mon, 11 Feb 2008 16:50:21 +0000 (09:50 -0700)]
gallium: comments about mipmap gen
Brian [Mon, 11 Feb 2008 16:43:30 +0000 (09:43 -0700)]
code refactoring, new next_mipmap_level_size() function
Brian [Mon, 11 Feb 2008 16:42:02 +0000 (09:42 -0700)]
gallium: implement software fallback for mipmap generation
This is used when we can't render to the surface type of the texture (such
as luminance/alpha).
Brian [Mon, 11 Feb 2008 16:38:36 +0000 (09:38 -0700)]
gallium: strip borders from textures passed to st_TexImage.
Manipulate the unpack params to skip the border. Gallium drivers won't support
texture borders.
Brian [Mon, 11 Feb 2008 16:35:28 +0000 (09:35 -0700)]
gallium: use _mesa_tex_target_to_face()
Brian [Mon, 11 Feb 2008 16:33:28 +0000 (09:33 -0700)]
added _mesa_tex_target_to_face()
Brian [Mon, 11 Feb 2008 15:56:18 +0000 (08:56 -0700)]
gallium: update comment about buffer map flags
Brian [Mon, 11 Feb 2008 15:18:43 +0000 (08:18 -0700)]
gallium: fix fragment/vertex typo
Brian [Fri, 8 Feb 2008 23:56:21 +0000 (16:56 -0700)]
refactor code, export _mesa_generate_mipmap_level()
Brian [Fri, 8 Feb 2008 23:46:12 +0000 (16:46 -0700)]
move _mesa_format_to_type_and_comps() to texformat.c
Brian [Fri, 8 Feb 2008 23:42:50 +0000 (16:42 -0700)]
reorder cases in do_row()
Brian [Fri, 8 Feb 2008 23:40:39 +0000 (16:40 -0700)]
re-indent do_row()
Brian [Fri, 8 Feb 2008 23:38:28 +0000 (16:38 -0700)]
checkpoint- consolidation in do_row()
Brian [Fri, 8 Feb 2008 23:35:44 +0000 (16:35 -0700)]
checkpoint- remove dependencies on gl_texture_format to make code re-usable by state tracker
Zack Rusin [Mon, 11 Feb 2008 15:47:28 +0000 (10:47 -0500)]
remove seperate llvm vs entry points
they're not necessary anymore. we use the same paths
as sse and tgsi code
Zack Rusin [Mon, 11 Feb 2008 14:43:59 +0000 (09:43 -0500)]
start genering soa type code in llvm paths
Zack Rusin [Wed, 6 Feb 2008 11:12:34 +0000 (06:12 -0500)]
disable llvm for fragment shaders for now
Zack Rusin [Tue, 5 Feb 2008 08:09:24 +0000 (03:09 -0500)]
rewrite the way cpu engine is handled
Zack Rusin [Mon, 4 Feb 2008 15:07:02 +0000 (10:07 -0500)]
rewrite the way we handle ir in llvm code
introduce intermediate step gallivm_ir before compiling it
down to the final llvm ir.
Zack Rusin [Fri, 25 Jan 2008 11:36:35 +0000 (06:36 -0500)]
add a stub of a lowering pass
Brian [Fri, 8 Feb 2008 21:56:38 +0000 (14:56 -0700)]
gallium: include st_cb_drawpixels.h
Brian [Fri, 8 Feb 2008 21:55:33 +0000 (14:55 -0700)]
fix comment typos
Brian [Fri, 8 Feb 2008 21:54:18 +0000 (14:54 -0700)]
gallium: initial implemenation of auto mipmap generation in state tracker
Use hardware rendering to compute/render mipmap levels.
The fallback path (which will be used for non-renderable texture formats)
isn't working yet.
Brian [Fri, 8 Feb 2008 21:51:32 +0000 (14:51 -0700)]
gallium: added inClipCoords param to st_draw_vertices() to indicate coord system of vertices
Also, export st_make_passthrough_vertex_shader() from st_cb_drawpixels.c
Brian [Fri, 8 Feb 2008 21:46:47 +0000 (14:46 -0700)]
gallium: added draw_flush() call in softpipe_bind_sampler_state()
Brian [Fri, 8 Feb 2008 21:45:58 +0000 (14:45 -0700)]
Remove unused texunit parameter to ctx->Driver.GenerateMipmap()
Jerome Glisse [Fri, 8 Feb 2008 17:47:25 +0000 (18:47 +0100)]
intel_winsys: remove leftover code
Jerome Glisse [Fri, 8 Feb 2008 17:25:49 +0000 (18:25 +0100)]
failover: several fixes to failover pipe module
Michel Dänzer [Thu, 7 Feb 2008 19:44:42 +0000 (19:44 +0000)]
tgsi: Fall back to interpreter instead of assert(0) on unimplemented SSE code.
Michel Dänzer [Thu, 7 Feb 2008 19:43:34 +0000 (19:43 +0000)]
pipebuffer: Fix reversed assertion.
José Fonseca [Thu, 7 Feb 2008 10:59:17 +0000 (19:59 +0900)]
gallium: Conditionally use posix libraries/includes.
Brian [Wed, 6 Feb 2008 16:48:56 +0000 (09:48 -0700)]
Cell: silence unused var warnings
Brian [Wed, 6 Feb 2008 16:48:37 +0000 (09:48 -0700)]
gallium: #include p_debug.h since we use assert
Brian [Wed, 6 Feb 2008 16:35:33 +0000 (09:35 -0700)]
Cell: use mem_dup()
Brian [Wed, 6 Feb 2008 16:29:00 +0000 (09:29 -0700)]
gallium: use mem_dup()
Brian [Wed, 6 Feb 2008 16:28:20 +0000 (09:28 -0700)]
gallium: added mem_dup()
Brian [Wed, 6 Feb 2008 16:24:30 +0000 (09:24 -0700)]
gallium: change pipe->texture_create() to operate like the CSO functions
Now, pass in a template object and return a new object.
Brian [Wed, 6 Feb 2008 15:44:19 +0000 (08:44 -0700)]
clean-ups in guess_and_alloc_texture()
Brian [Wed, 6 Feb 2008 01:15:39 +0000 (18:15 -0700)]
plug in ctx->Driver.GenerateMipmap function
Brian [Wed, 6 Feb 2008 01:15:03 +0000 (18:15 -0700)]
Added ctx->Driver.GenerateMipmap() driver hook
Brian [Wed, 6 Feb 2008 01:13:28 +0000 (18:13 -0700)]
clean-ups
Brian [Wed, 6 Feb 2008 01:01:18 +0000 (18:01 -0700)]
added comment
Brian [Wed, 6 Feb 2008 00:55:16 +0000 (17:55 -0700)]
comments, clean-ups, consts
Brian [Wed, 6 Feb 2008 00:46:31 +0000 (17:46 -0700)]
clean-up
Brian [Tue, 5 Feb 2008 23:32:15 +0000 (16:32 -0700)]
gallium: add bitmap/drawpixels texcoord bias support
The state tracker will call pipe->get_paramf(PIPE_CAP_BITMAP_TEXCOORD_BIAS)
to get a bias factor for adjusting the texcoords used in bitmap/drawpixels.
This allows us to compensate for small differences in rasterization from
one device to another.
José Fonseca [Wed, 6 Feb 2008 16:07:49 +0000 (01:07 +0900)]
gallium: Bring latest fixes.
José Fonseca [Wed, 6 Feb 2008 05:37:49 +0000 (14:37 +0900)]
gallium: Use p_debug.h instead of non-portable stdio.h/assert.h functions.
José Fonseca [Wed, 6 Feb 2008 05:37:24 +0000 (14:37 +0900)]
gallium: Add forgotten return type.
José Fonseca [Wed, 6 Feb 2008 05:36:50 +0000 (14:36 +0900)]
gallium: Update scons instructions. Propagate user environment.
José Fonseca [Wed, 6 Feb 2008 04:27:49 +0000 (13:27 +0900)]
gallium: Cross-platform debugging helpers.
José Fonseca [Mon, 4 Feb 2008 08:02:08 +0000 (17:02 +0900)]
gallium: Portability guidelines.
Brian [Tue, 5 Feb 2008 22:12:18 +0000 (15:12 -0700)]
Cell: remove accidentally added OPT_FLAGS lines
Brian [Tue, 5 Feb 2008 22:07:36 +0000 (15:07 -0700)]
Cell: SIMD-ize tri_linear_coeff(), use vector float for vertex attributes in struct vertex_header
Brian [Tue, 5 Feb 2008 21:23:34 +0000 (14:23 -0700)]
Cell: re-enable inlined vertex buffers
Vertex data must be on a 16-byte address/offset so SIMD operations will work
properly in the SPU code.
Brian [Tue, 5 Feb 2008 21:21:48 +0000 (14:21 -0700)]
Cell: remove dummy fields, update/add some comments
Brian [Tue, 5 Feb 2008 21:21:01 +0000 (14:21 -0700)]
Cell: added cell_batch_alloc_aligned()
Ian Romanick [Tue, 5 Feb 2008 17:43:52 +0000 (09:43 -0800)]
Use _transpose_matrix4x4 from Cell SDK instead of my own version
Ian Romanick [Tue, 5 Feb 2008 00:03:55 +0000 (16:03 -0800)]
Add some debug messages
Ian Romanick [Sat, 2 Feb 2008 01:14:09 +0000 (17:14 -0800)]
More semi-trivial vectorization in the shader VM
Ian Romanick [Sat, 2 Feb 2008 01:12:20 +0000 (17:12 -0800)]
Vectorize vertex puller
Ian Romanick [Fri, 1 Feb 2008 22:58:38 +0000 (14:58 -0800)]
Vectorize all micro ops
Fold single instruction micro ops inline. Remove unused micro ops.
Michal Krol [Tue, 5 Feb 2008 14:50:56 +0000 (07:50 -0700)]
gallium: Use align_free to free aligned memory.
Brian [Tue, 5 Feb 2008 01:05:37 +0000 (18:05 -0700)]
Cell: fix some alignment issues by aligning commands to 8-byte boundaries
Contributed by Ian Romanick.
Also, temporarily disable inlined vertex buffers. They need to be 16-byte
aligned...
Brian [Tue, 5 Feb 2008 01:03:05 +0000 (18:03 -0700)]
Cell: don't use VEC_LITERAL macro, doesn't work w/ SDK 3.0
Brian [Tue, 5 Feb 2008 01:02:21 +0000 (18:02 -0700)]
Cell: don't use VEC_LITERAL macro, doesn't work w/ SDK 3.0
Brian [Mon, 4 Feb 2008 23:48:36 +0000 (16:48 -0700)]
Cell: move float4 typedef (temporary datatype)