mesa.git
16 years agogallium: initial code for wide/AA line drawing
Brian [Wed, 13 Feb 2008 02:14:58 +0000 (19:14 -0700)]
gallium: initial code for wide/AA line drawing

16 years agogallium: fix/finish glReadPixels(GL_DEPTH_COMPONENT).
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

16 years agogallium: clamp min_lod so it's never negative
Brian [Wed, 13 Feb 2008 00:07:27 +0000 (17:07 -0700)]
gallium: clamp min_lod so it's never negative

16 years agoFix broken test.
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.

16 years agogallium: remove dead code
Brian [Tue, 12 Feb 2008 23:38:56 +0000 (16:38 -0700)]
gallium: remove dead code

16 years agogallium: added null ptr check
Brian [Tue, 12 Feb 2008 23:37:49 +0000 (16:37 -0700)]
gallium: added null ptr check

16 years agogallium: rename st_fragment_program's fs field to cso to match st_vertex_program
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

16 years agogallium: move gen-mipmap global/static vars into st_context
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.

16 years agoSet Min/MaxLod with glTexParameterf, not glTexParameteri
Brian [Tue, 12 Feb 2008 22:53:37 +0000 (15:53 -0700)]
Set Min/MaxLod with glTexParameterf, not glTexParameteri

16 years agopress 0,1,2,etc keys for specific bias values
Brian [Mon, 11 Feb 2008 16:46:10 +0000 (09:46 -0700)]
press 0,1,2,etc keys for specific bias values

16 years agotweak incr/decrements amounts for keyboard options
Brian [Tue, 12 Feb 2008 21:59:07 +0000 (14:59 -0700)]
tweak incr/decrements amounts for keyboard options

16 years agogallium: remove unused first_level param from st_texture_create()
Brian [Tue, 12 Feb 2008 21:55:51 +0000 (14:55 -0700)]
gallium: remove unused first_level param from st_texture_create()

16 years agogallium: clean-up, simplification of mipmapped textures
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.

16 years agogallium: take pitch/stride into account in mipmap generation
Brian [Mon, 11 Feb 2008 17:59:40 +0000 (10:59 -0700)]
gallium: take pitch/stride into account in mipmap generation

16 years agogallium: comments about mipmap gen
Brian [Mon, 11 Feb 2008 16:50:21 +0000 (09:50 -0700)]
gallium: comments about mipmap gen

16 years agocode refactoring, new next_mipmap_level_size() function
Brian [Mon, 11 Feb 2008 16:43:30 +0000 (09:43 -0700)]
code refactoring, new next_mipmap_level_size() function

16 years agogallium: implement software fallback for mipmap generation
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).

16 years agogallium: strip borders from textures passed to st_TexImage.
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.

16 years agogallium: use _mesa_tex_target_to_face()
Brian [Mon, 11 Feb 2008 16:35:28 +0000 (09:35 -0700)]
gallium: use _mesa_tex_target_to_face()

16 years agoadded _mesa_tex_target_to_face()
Brian [Mon, 11 Feb 2008 16:33:28 +0000 (09:33 -0700)]
added _mesa_tex_target_to_face()

16 years agogallium: update comment about buffer map flags
Brian [Mon, 11 Feb 2008 15:56:18 +0000 (08:56 -0700)]
gallium: update comment about buffer map flags

16 years agogallium: fix fragment/vertex typo
Brian [Mon, 11 Feb 2008 15:18:43 +0000 (08:18 -0700)]
gallium: fix fragment/vertex typo

16 years agorefactor code, export _mesa_generate_mipmap_level()
Brian [Fri, 8 Feb 2008 23:56:21 +0000 (16:56 -0700)]
refactor code, export _mesa_generate_mipmap_level()

16 years agomove _mesa_format_to_type_and_comps() to texformat.c
Brian [Fri, 8 Feb 2008 23:46:12 +0000 (16:46 -0700)]
move _mesa_format_to_type_and_comps() to texformat.c

16 years agoreorder cases in do_row()
Brian [Fri, 8 Feb 2008 23:42:50 +0000 (16:42 -0700)]
reorder cases in do_row()

16 years agore-indent do_row()
Brian [Fri, 8 Feb 2008 23:40:39 +0000 (16:40 -0700)]
re-indent do_row()

16 years agocheckpoint- consolidation in do_row()
Brian [Fri, 8 Feb 2008 23:38:28 +0000 (16:38 -0700)]
checkpoint- consolidation in do_row()

16 years agocheckpoint- remove dependencies on gl_texture_format to make code re-usable by state...
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

16 years agoremove seperate llvm vs entry points
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

16 years agostart genering soa type code in llvm paths
Zack Rusin [Mon, 11 Feb 2008 14:43:59 +0000 (09:43 -0500)]
start genering soa type code in llvm paths

16 years agodisable llvm for fragment shaders for now
Zack Rusin [Wed, 6 Feb 2008 11:12:34 +0000 (06:12 -0500)]
disable llvm for fragment shaders for now

16 years agorewrite the way cpu engine is handled
Zack Rusin [Tue, 5 Feb 2008 08:09:24 +0000 (03:09 -0500)]
rewrite the way cpu engine is handled

16 years agorewrite the way we handle ir in llvm code
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.

16 years agoadd a stub of a lowering pass
Zack Rusin [Fri, 25 Jan 2008 11:36:35 +0000 (06:36 -0500)]
add a stub of a lowering pass

16 years agogallium: include st_cb_drawpixels.h
Brian [Fri, 8 Feb 2008 21:56:38 +0000 (14:56 -0700)]
gallium: include st_cb_drawpixels.h

16 years agofix comment typos
Brian [Fri, 8 Feb 2008 21:55:33 +0000 (14:55 -0700)]
fix comment typos

16 years agogallium: initial implemenation of auto mipmap generation in state tracker
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.

16 years agogallium: added inClipCoords param to st_draw_vertices() to indicate coord system...
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

16 years agogallium: added draw_flush() call in softpipe_bind_sampler_state()
Brian [Fri, 8 Feb 2008 21:46:47 +0000 (14:46 -0700)]
gallium: added draw_flush() call in softpipe_bind_sampler_state()

16 years agoRemove unused texunit parameter to ctx->Driver.GenerateMipmap()
Brian [Fri, 8 Feb 2008 21:45:58 +0000 (14:45 -0700)]
Remove unused texunit parameter to ctx->Driver.GenerateMipmap()

16 years agointel_winsys: remove leftover code
Jerome Glisse [Fri, 8 Feb 2008 17:47:25 +0000 (18:47 +0100)]
intel_winsys: remove leftover code

16 years agofailover: several fixes to failover pipe module
Jerome Glisse [Fri, 8 Feb 2008 17:25:49 +0000 (18:25 +0100)]
failover: several fixes to failover pipe module

16 years agotgsi: Fall back to interpreter instead of assert(0) on unimplemented SSE code.
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.

16 years agopipebuffer: Fix reversed assertion.
Michel Dänzer [Thu, 7 Feb 2008 19:43:34 +0000 (19:43 +0000)]
pipebuffer: Fix reversed assertion.

16 years agogallium: Conditionally use posix libraries/includes.
José Fonseca [Thu, 7 Feb 2008 10:59:17 +0000 (19:59 +0900)]
gallium: Conditionally use posix libraries/includes.

16 years agoCell: silence unused var warnings
Brian [Wed, 6 Feb 2008 16:48:56 +0000 (09:48 -0700)]
Cell: silence unused var warnings

16 years agogallium: #include p_debug.h since we use assert
Brian [Wed, 6 Feb 2008 16:48:37 +0000 (09:48 -0700)]
gallium: #include p_debug.h since we use assert

16 years agoCell: use mem_dup()
Brian [Wed, 6 Feb 2008 16:35:33 +0000 (09:35 -0700)]
Cell: use mem_dup()

16 years agogallium: use mem_dup()
Brian [Wed, 6 Feb 2008 16:29:00 +0000 (09:29 -0700)]
gallium: use mem_dup()

16 years agogallium: added mem_dup()
Brian [Wed, 6 Feb 2008 16:28:20 +0000 (09:28 -0700)]
gallium: added mem_dup()

16 years agogallium: change pipe->texture_create() to operate like the CSO functions
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.

16 years agoclean-ups in guess_and_alloc_texture()
Brian [Wed, 6 Feb 2008 15:44:19 +0000 (08:44 -0700)]
clean-ups in guess_and_alloc_texture()

16 years agoplug in ctx->Driver.GenerateMipmap function
Brian [Wed, 6 Feb 2008 01:15:39 +0000 (18:15 -0700)]
plug in ctx->Driver.GenerateMipmap function

16 years agoAdded ctx->Driver.GenerateMipmap() driver hook
Brian [Wed, 6 Feb 2008 01:15:03 +0000 (18:15 -0700)]
Added ctx->Driver.GenerateMipmap() driver hook

16 years agoclean-ups
Brian [Wed, 6 Feb 2008 01:13:28 +0000 (18:13 -0700)]
clean-ups

16 years agoadded comment
Brian [Wed, 6 Feb 2008 01:01:18 +0000 (18:01 -0700)]
added comment

16 years agocomments, clean-ups, consts
Brian [Wed, 6 Feb 2008 00:55:16 +0000 (17:55 -0700)]
comments, clean-ups, consts

16 years agoclean-up
Brian [Wed, 6 Feb 2008 00:46:31 +0000 (17:46 -0700)]
clean-up

16 years agogallium: add bitmap/drawpixels texcoord bias support
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.

16 years agogallium: Bring latest fixes.
José Fonseca [Wed, 6 Feb 2008 16:07:49 +0000 (01:07 +0900)]
gallium: Bring latest fixes.

16 years agogallium: Use p_debug.h instead of non-portable stdio.h/assert.h functions.
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.

16 years agogallium: Add forgotten return type.
José Fonseca [Wed, 6 Feb 2008 05:37:24 +0000 (14:37 +0900)]
gallium: Add forgotten return type.

16 years agogallium: Update scons instructions. Propagate user environment.
José Fonseca [Wed, 6 Feb 2008 05:36:50 +0000 (14:36 +0900)]
gallium: Update scons instructions. Propagate user environment.

16 years agogallium: Cross-platform debugging helpers.
José Fonseca [Wed, 6 Feb 2008 04:27:49 +0000 (13:27 +0900)]
gallium: Cross-platform debugging helpers.

16 years agogallium: Portability guidelines.
José Fonseca [Mon, 4 Feb 2008 08:02:08 +0000 (17:02 +0900)]
gallium: Portability guidelines.

16 years agoCell: remove accidentally added OPT_FLAGS lines
Brian [Tue, 5 Feb 2008 22:12:18 +0000 (15:12 -0700)]
Cell: remove accidentally added OPT_FLAGS lines

16 years agoCell: SIMD-ize tri_linear_coeff(), use vector float for vertex attributes in struct...
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

16 years agoCell: re-enable inlined vertex buffers
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.

16 years agoCell: remove dummy fields, update/add some comments
Brian [Tue, 5 Feb 2008 21:21:48 +0000 (14:21 -0700)]
Cell: remove dummy fields, update/add some comments

16 years agoCell: added cell_batch_alloc_aligned()
Brian [Tue, 5 Feb 2008 21:21:01 +0000 (14:21 -0700)]
Cell: added cell_batch_alloc_aligned()

16 years agoUse _transpose_matrix4x4 from Cell SDK instead of my own version
Ian Romanick [Tue, 5 Feb 2008 17:43:52 +0000 (09:43 -0800)]
Use _transpose_matrix4x4 from Cell SDK instead of my own version

16 years agoAdd some debug messages
Ian Romanick [Tue, 5 Feb 2008 00:03:55 +0000 (16:03 -0800)]
Add some debug messages

16 years agoMore semi-trivial vectorization in the shader VM
Ian Romanick [Sat, 2 Feb 2008 01:14:09 +0000 (17:14 -0800)]
More semi-trivial vectorization in the shader VM

16 years agoVectorize vertex puller
Ian Romanick [Sat, 2 Feb 2008 01:12:20 +0000 (17:12 -0800)]
Vectorize vertex puller

16 years agoVectorize all micro ops
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.

16 years agogallium: Use align_free to free aligned memory.
Michal Krol [Tue, 5 Feb 2008 14:50:56 +0000 (07:50 -0700)]
gallium: Use align_free to free aligned memory.

16 years agoCell: fix some alignment issues by aligning commands to 8-byte boundaries
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...

16 years agoCell: don't use VEC_LITERAL macro, doesn't work w/ SDK 3.0
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

16 years agoCell: 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

16 years agoCell: move float4 typedef (temporary datatype)
Brian [Mon, 4 Feb 2008 23:48:36 +0000 (16:48 -0700)]
Cell: move float4 typedef (temporary datatype)

16 years agoCell: fix small sampling error in sample_texture_bilinear()
Brian [Mon, 4 Feb 2008 23:48:00 +0000 (16:48 -0700)]
Cell: fix small sampling error in sample_texture_bilinear()

16 years agoCell: texture sampler functions always return vector float now
Brian [Mon, 4 Feb 2008 23:06:51 +0000 (16:06 -0700)]
Cell: texture sampler functions always return vector float now

Texture colors look the same now, regardless of X display/pixel format

16 years agoCell: added spu_unpack_A8R8G8B8()
Brian [Mon, 4 Feb 2008 23:05:13 +0000 (16:05 -0700)]
Cell: added spu_unpack_A8R8G8B8()

16 years agoCell: fix typo
Brian [Mon, 4 Feb 2008 23:04:50 +0000 (16:04 -0700)]
Cell: fix typo

16 years agoCell: some basic blending code
Brian [Mon, 4 Feb 2008 22:17:50 +0000 (15:17 -0700)]
Cell: some basic blending code

16 years agoCell: replace float 4 with vector float in eval_coeff()
Brian [Mon, 4 Feb 2008 22:10:35 +0000 (15:10 -0700)]
Cell: replace float 4 with vector float in eval_coeff()

16 years agoCell: emit blend state to SPUs
Brian [Mon, 4 Feb 2008 22:06:10 +0000 (15:06 -0700)]
Cell: emit blend state to SPUs

16 years agoCell: choose bilinear vs. nearest filtering according to sampler state
Brian [Mon, 4 Feb 2008 20:23:07 +0000 (13:23 -0700)]
Cell: choose bilinear vs. nearest filtering according to sampler state

16 years agoCell: improved bilinear filtering
Brian [Mon, 4 Feb 2008 20:16:10 +0000 (13:16 -0700)]
Cell: improved bilinear filtering

avoid calling get_tex_tile() if all texels are in same tile

16 years agoCell: implement basic bilinear texture sampler
Brian [Mon, 4 Feb 2008 19:50:42 +0000 (12:50 -0700)]
Cell: implement basic bilinear texture sampler

16 years agoCell: added spu_unpack_color(), spu_pack_R8G8B8A8()
Brian [Mon, 4 Feb 2008 19:50:16 +0000 (12:50 -0700)]
Cell: added spu_unpack_color(), spu_pack_R8G8B8A8()

16 years agoCell: SIMD-ize more of texture sampling
Brian [Mon, 4 Feb 2008 18:02:47 +0000 (11:02 -0700)]
Cell: SIMD-ize more of texture sampling

16 years agoCell: checkpoint: start to SIMD-ize texture sampling
Brian [Mon, 4 Feb 2008 16:54:21 +0000 (09:54 -0700)]
Cell: checkpoint: start to SIMD-ize texture sampling

16 years agoCell: move tile clear code to flush_spans()
Brian [Mon, 4 Feb 2008 15:53:18 +0000 (08:53 -0700)]
Cell: move tile clear code to flush_spans()

16 years agoCell: clamp txmax, tymax in tile_bounding_box()
Brian [Mon, 4 Feb 2008 15:46:44 +0000 (08:46 -0700)]
Cell: clamp txmax, tymax in tile_bounding_box()

Also, added some debug printfs

16 years agoCell: insert some draw_flush() calls
Brian [Mon, 4 Feb 2008 15:45:33 +0000 (08:45 -0700)]
Cell: insert some draw_flush() calls

16 years agoCell: comment about emit_quad() mask
Brian [Fri, 1 Feb 2008 23:54:46 +0000 (16:54 -0700)]
Cell: comment about emit_quad() mask

16 years agoCell: move some tile get/clear code
Brian [Fri, 1 Feb 2008 23:42:09 +0000 (16:42 -0700)]
Cell: move some tile get/clear code

Also, we weren't marking the ztile as dirty after ztesting, fixes gears glitches.

16 years agoCell: use global color_shuffle to remove a switch stmnt
Brian [Fri, 1 Feb 2008 23:25:42 +0000 (16:25 -0700)]
Cell: use global color_shuffle to remove a switch stmnt

16 years agoCell: New color packing functions (A8R8G8B8 and B8G8R8A8)
Brian [Fri, 1 Feb 2008 22:45:02 +0000 (15:45 -0700)]
Cell: New color packing functions (A8R8G8B8 and B8G8R8A8)