mesa.git
16 years agogallium: Always pass colour clear value to driver as A8R8G8B8.
Michel Dänzer [Fri, 18 Apr 2008 12:38:06 +0000 (13:38 +0100)]
gallium: Always pass colour clear value to driver as A8R8G8B8.

16 years agogallium: Add missing files to scons.
José Fonseca [Fri, 18 Apr 2008 11:59:28 +0000 (20:59 +0900)]
gallium: Add missing files to scons.

16 years agodraw: split off all the extra functionality in the vertex shader
Keith Whitwell [Thu, 17 Apr 2008 22:44:32 +0000 (23:44 +0100)]
draw: split off all the extra functionality in the vertex shader

This will at least allow us to make the initial gains to get decent
vertex performance much more quickly & with higher confidence of getting
it right.

At some later point can look again at code-generating all the
fetch/cliptest/viewport extras in the same block as the vertex shader.
For now, just need to get some decent baseline performance.

16 years agogallium: tweak x/ybias values
Brian Paul [Thu, 17 Apr 2008 21:26:37 +0000 (15:26 -0600)]
gallium: tweak x/ybias values

16 years agogallium: add missing pipe_surface_unmap() call
Brian Paul [Thu, 17 Apr 2008 19:21:26 +0000 (13:21 -0600)]
gallium: add missing pipe_surface_unmap() call

16 years agogallium: plug in a select_destroy() function (fixes segfault on exit)
Brian Paul [Thu, 17 Apr 2008 17:31:14 +0000 (11:31 -0600)]
gallium: plug in a select_destroy() function (fixes segfault on exit)

16 years agogallium: assert that we're not deleting the currently bound shader
Brian Paul [Thu, 17 Apr 2008 17:13:05 +0000 (11:13 -0600)]
gallium: assert that we're not deleting the currently bound shader

16 years agogallium: reorder some of the destroy context code
Brian Paul [Thu, 17 Apr 2008 17:12:44 +0000 (11:12 -0600)]
gallium: reorder some of the destroy context code

16 years agogallium: Add new file to scons build.
Michel Dänzer [Thu, 17 Apr 2008 16:53:33 +0000 (17:53 +0100)]
gallium: Add new file to scons build.

16 years agodraw: move hw vertex emit to a new module
Keith Whitwell [Thu, 17 Apr 2008 13:43:40 +0000 (14:43 +0100)]
draw: move hw vertex emit to a new module

16 years agodraw: don't always run pipeline if clipping
Keith Whitwell [Thu, 17 Apr 2008 13:42:05 +0000 (14:42 +0100)]
draw: don't always run pipeline if clipping

16 years agodraw: add vertex shader run_linear function
Keith Whitwell [Thu, 17 Apr 2008 13:20:00 +0000 (14:20 +0100)]
draw: add vertex shader run_linear function

16 years agotsgi: make Consts const
Keith Whitwell [Thu, 17 Apr 2008 13:19:03 +0000 (14:19 +0100)]
tsgi: make Consts const

16 years agodraw: add comment
Keith Whitwell [Thu, 17 Apr 2008 12:14:55 +0000 (13:14 +0100)]
draw: add comment

16 years agodraw: keep record of number of active vertex buffers
Keith Whitwell [Thu, 17 Apr 2008 12:14:22 +0000 (13:14 +0100)]
draw: keep record of number of active vertex buffers

16 years agodraw: remove misleading comments
Keith Whitwell [Thu, 17 Apr 2008 09:37:53 +0000 (10:37 +0100)]
draw: remove misleading comments

16 years agogallium: implement RGBA pixel maps in the pixel transfer fragment program
Brian Paul [Wed, 16 Apr 2008 22:52:12 +0000 (16:52 -0600)]
gallium: implement RGBA pixel maps in the pixel transfer fragment program

16 years agogallium: added util_pack_color_ub()
Brian Paul [Wed, 16 Apr 2008 15:46:38 +0000 (09:46 -0600)]
gallium: added util_pack_color_ub()

16 years agogallium: make choose_format() non-static: st_choose_format()
Brian Paul [Wed, 16 Apr 2008 15:45:56 +0000 (09:45 -0600)]
gallium: make choose_format() non-static: st_choose_format()

16 years agogallium: finish-up and fix support for GL_COLOR matrix on pixel xfer path
Brian Paul [Wed, 16 Apr 2008 15:09:08 +0000 (09:09 -0600)]
gallium: finish-up and fix support for GL_COLOR matrix on pixel xfer path

16 years agomesa: added internal post color matrix scale/bias vars
Brian Paul [Wed, 16 Apr 2008 15:04:39 +0000 (09:04 -0600)]
mesa: added internal post color matrix scale/bias vars

16 years agogallium: Use debug_get_bool_option for controlling assert failure behaviour.
José Fonseca [Wed, 16 Apr 2008 13:32:10 +0000 (22:32 +0900)]
gallium: Use debug_get_bool_option for controlling assert failure behaviour.

Add
  GALLIUM_ABORT_ON_ASSERT=no
to C:\gallium.cfg instead.

16 years agodraw: allow pt paths to run without a vbuf render stage
Keith Whitwell [Wed, 16 Apr 2008 11:55:47 +0000 (12:55 +0100)]
draw: allow pt paths to run without a vbuf render stage

16 years agodraw: remove vbuf non-vf debug path, fix some failure modes in draw_vbuf_create()
Keith Whitwell [Wed, 16 Apr 2008 11:31:19 +0000 (12:31 +0100)]
draw: remove vbuf non-vf debug path, fix some failure modes in draw_vbuf_create()

16 years agosoftpipe: call setup_prepare earlier so that vertex info is correct when queried
Keith Whitwell [Wed, 16 Apr 2008 11:20:39 +0000 (12:20 +0100)]
softpipe: call setup_prepare earlier so that vertex info is correct when queried

16 years agodraw: update debug code
Keith Whitwell [Wed, 16 Apr 2008 09:12:12 +0000 (10:12 +0100)]
draw: update debug code

16 years agodraw: make pt run pipeline when need_pipeline is true, not just when clipped
Keith Whitwell [Wed, 16 Apr 2008 09:03:18 +0000 (10:03 +0100)]
draw: make pt run pipeline when need_pipeline is true, not just when clipped

16 years agogallium: Get the translate module to build on msvc.
José Fonseca [Wed, 16 Apr 2008 02:42:08 +0000 (11:42 +0900)]
gallium: Get the translate module to build on msvc.

Appearently MSVC c-preprocessor parses "255.0f" as two tokens:
"255.0" and "f", and performs variable substitution on "f".

16 years agogallium: Build and link the translate module.
José Fonseca [Wed, 16 Apr 2008 02:39:22 +0000 (11:39 +0900)]
gallium: Build and link the translate module.

16 years agogallium: Switch one vertex path over to new translate module
Keith Whitwell [Tue, 15 Apr 2008 18:14:31 +0000 (19:14 +0100)]
gallium:  Switch one vertex path over to new translate module

Will eventually do this for all instances where we are converting vertices
from one format to another.

16 years agogallium: add translate directory
Keith Whitwell [Tue, 15 Apr 2008 14:07:50 +0000 (15:07 +0100)]
gallium: add translate directory

16 years agodraw: increment output vertex properly
Keith Whitwell [Tue, 15 Apr 2008 13:52:56 +0000 (14:52 +0100)]
draw: increment output vertex properly

16 years agodraw: fix first glitch in vertex emit
Keith Whitwell [Tue, 15 Apr 2008 13:44:39 +0000 (14:44 +0100)]
draw: fix first glitch in vertex emit

16 years agotranslate: typo in emit_B8G8R8A8_UNORM
Keith Whitwell [Tue, 15 Apr 2008 13:40:16 +0000 (14:40 +0100)]
translate: typo in emit_B8G8R8A8_UNORM

16 years agogallium: add a generic vertex (or other) buffer translation module
Keith Whitwell [Tue, 15 Apr 2008 13:35:29 +0000 (14:35 +0100)]
gallium: add a generic vertex (or other) buffer translation module

16 years agodraw: fetch_shade_pipeline needs to translate to hw vertex format (from get_vertex_info)
Keith Whitwell [Tue, 15 Apr 2008 13:28:41 +0000 (14:28 +0100)]
draw: fetch_shade_pipeline needs to translate to hw vertex format (from get_vertex_info)

16 years agogallium: Cache one line worth of debug output on windows.
José Fonseca [Tue, 15 Apr 2008 09:11:47 +0000 (18:11 +0900)]
gallium: Cache one line worth of debug output on windows.

The windbg connection seems synchronous, so this speeds up when printing
little text at a time (e.g., tgsi output).

16 years agogallium: Eliminate stdio file usage. Remove unused stuff.
José Fonseca [Tue, 15 Apr 2008 08:08:10 +0000 (17:08 +0900)]
gallium: Eliminate stdio file usage. Remove unused stuff.

16 years agogallium: Fix seg fault (James Vogt).
José Fonseca [Tue, 15 Apr 2008 06:58:14 +0000 (15:58 +0900)]
gallium: Fix seg fault (James Vogt).

16 years agogallium: Several fixes to buffer caching.
José Fonseca [Tue, 15 Apr 2008 06:41:08 +0000 (15:41 +0900)]
gallium: Several fixes to buffer caching.

16 years agogallium: Less confusing interface for timeouts.
José Fonseca [Tue, 15 Apr 2008 06:40:35 +0000 (15:40 +0900)]
gallium: Less confusing interface for timeouts.

16 years agogallium: Remove middle of scope declarations.
José Fonseca [Tue, 15 Apr 2008 05:58:32 +0000 (14:58 +0900)]
gallium: Remove middle of scope declarations.

16 years agogallium: Fix mismatching prototypes.
José Fonseca [Tue, 15 Apr 2008 03:35:00 +0000 (12:35 +0900)]
gallium: Fix mismatching prototypes.

16 years agogallium: Allow to use a single slab.
José Fonseca [Tue, 15 Apr 2008 03:34:33 +0000 (12:34 +0900)]
gallium: Allow to use a single slab.

We often want to use a pool of equally sized buffers, so this makes the
slab suballocator a drop-in replacement.

16 years agogallium: enable new quad output code, remove old code
Brian [Tue, 15 Apr 2008 03:01:40 +0000 (21:01 -0600)]
gallium: enable new quad output code, remove old code

16 years agogallium: fix semantic indexes for outputs
Brian [Tue, 15 Apr 2008 02:58:05 +0000 (20:58 -0600)]
gallium: fix semantic indexes for outputs

16 years agogallium: fix multi drawbuffer fb state
Brian [Tue, 15 Apr 2008 02:57:15 +0000 (20:57 -0600)]
gallium: fix multi drawbuffer fb state

16 years agogallium: set ctx->Const.MaxDrawBuffers
Brian [Tue, 15 Apr 2008 02:56:08 +0000 (20:56 -0600)]
gallium: set ctx->Const.MaxDrawBuffers

16 years agogallium: fix PIPE_CAP_MAX_RENDER_TARGETS query
Brian [Tue, 15 Apr 2008 02:55:14 +0000 (20:55 -0600)]
gallium: fix PIPE_CAP_MAX_RENDER_TARGETS query

16 years agogallium: Add draw_pt_fetch_shade_pipeline.c to scons build.
José Fonseca [Tue, 15 Apr 2008 01:38:05 +0000 (10:38 +0900)]
gallium: Add draw_pt_fetch_shade_pipeline.c to scons build.

16 years agogallium: Don't assume snprintf are always available.
José Fonseca [Mon, 14 Apr 2008 14:55:36 +0000 (23:55 +0900)]
gallium: Don't assume snprintf are always available.

16 years agogallium: Serialize buffers writes.
José Fonseca [Mon, 14 Apr 2008 13:39:33 +0000 (22:39 +0900)]
gallium: Serialize buffers writes.

Allow concurrent reads from buffers by the CPU/GPU, but serialize
all writes.

16 years agofix GL_ARB_texture_rectangle breakage
Brian Paul [Mon, 14 Apr 2008 20:38:11 +0000 (14:38 -0600)]
fix GL_ARB_texture_rectangle breakage

16 years agomesa: define #extension GL_ARB_texture_rectangle
David Flynn [Mon, 14 Apr 2008 18:56:10 +0000 (12:56 -0600)]
mesa: define #extension GL_ARB_texture_rectangle

16 years agogallium: take reduced prim, fill modes into account when culling
Brian Paul [Mon, 14 Apr 2008 16:56:56 +0000 (10:56 -0600)]
gallium: take reduced prim, fill modes into account when culling

16 years agouse the new macro
Zack Rusin [Mon, 14 Apr 2008 16:32:25 +0000 (12:32 -0400)]
use the new macro

16 years agosilence some warnings
Zack Rusin [Mon, 14 Apr 2008 16:29:23 +0000 (12:29 -0400)]
silence some warnings

16 years agopass vertex size to shaders so that callee can decide on the size
Zack Rusin [Mon, 14 Apr 2008 16:27:24 +0000 (12:27 -0400)]
pass vertex size to shaders so that callee can decide on the size
of the vertices and not always have to use the maximum vertex
allocation size for them

16 years agosoftpipe: calculate determinant for all triangles, don't rely on draw module to do it
Keith Whitwell [Mon, 14 Apr 2008 15:18:00 +0000 (16:18 +0100)]
softpipe: calculate determinant for all triangles, don't rely on draw module to do it

16 years agodraw: remove dead code
Keith Whitwell [Mon, 14 Apr 2008 15:15:39 +0000 (16:15 +0100)]
draw: remove dead code

16 years agodraw: always malloc verts for fetch_shade_pipeline
Keith Whitwell [Mon, 14 Apr 2008 11:46:47 +0000 (12:46 +0100)]
draw: always malloc verts for fetch_shade_pipeline

16 years agodraw: flush pipeline before trying to allocate more hw vertices
Keith Whitwell [Mon, 14 Apr 2008 11:32:53 +0000 (12:32 +0100)]
draw: flush pipeline before trying to allocate more hw vertices

16 years agodraw: move vertex header init out of fetch_shade_pipeline.c
Keith Whitwell [Mon, 14 Apr 2008 11:27:25 +0000 (12:27 +0100)]
draw: move vertex header init out of fetch_shade_pipeline.c

16 years agodraw: hide passthrough shading paths behind an environment variable
Keith Whitwell [Mon, 14 Apr 2008 11:08:46 +0000 (12:08 +0100)]
draw: hide passthrough shading paths behind an environment variable

16 years agosoftpipe: do our own culling, don't rely on the draw module.
Keith Whitwell [Mon, 14 Apr 2008 10:32:50 +0000 (11:32 +0100)]
softpipe: do our own culling, don't rely on the draw module.

May not always happen due to passthrough modes, etc.

16 years agoImplement fetch/shade/pipeline or emit vertex passthrough.
Zack Rusin [Sun, 13 Apr 2008 05:47:07 +0000 (01:47 -0400)]
Implement fetch/shade/pipeline or emit vertex passthrough.

16 years agoMake shaders operate on a block of memory instead of arrays of vertex_header's
Zack Rusin [Sun, 13 Apr 2008 01:52:46 +0000 (21:52 -0400)]
Make shaders operate on a block of memory instead of arrays of vertex_header's

16 years agoreturn true if one of the vertices has been clipped
Zack Rusin [Fri, 11 Apr 2008 23:58:22 +0000 (19:58 -0400)]
return true if one of the vertices has been clipped

16 years agopass arbitrary number of vertices to the shader execution cycle
Zack Rusin [Sat, 12 Apr 2008 19:45:28 +0000 (15:45 -0400)]
pass arbitrary number of vertices to the shader execution cycle

16 years agointroduce a define to maxout the processed vertices
Zack Rusin [Tue, 8 Apr 2008 00:38:39 +0000 (20:38 -0400)]
introduce a define to maxout the processed vertices

16 years agogallium: Add u_time.c
José Fonseca [Sun, 13 Apr 2008 09:52:54 +0000 (18:52 +0900)]
gallium: Add u_time.c

16 years agogallium: Buffer cache.
José Fonseca [Sun, 13 Apr 2008 06:10:01 +0000 (15:10 +0900)]
gallium: Buffer cache.

16 years agogallium: Initial port of Thomas slab suballocator to pipebuffer.
José Fonseca [Sun, 13 Apr 2008 05:10:46 +0000 (14:10 +0900)]
gallium: Initial port of Thomas slab suballocator to pipebuffer.

Not tested yet -- just compiles.

This includes only the slab algorithm. Fencing is already
implemented in pb_bufmgr_fence and time-based caching will be commited in a
separate module shortly.

16 years agogallium: OS independent time-manipulation functions.
José Fonseca [Sun, 13 Apr 2008 03:23:26 +0000 (12:23 +0900)]
gallium: OS independent time-manipulation functions.

16 years agotgsi: Fix source register short dump code.
Michal Krol [Sat, 12 Apr 2008 20:59:17 +0000 (22:59 +0200)]
tgsi: Fix source register short dump code.

16 years agogallium: move duplicated compute_clipmask() code to draw_vs.h
Brian [Sat, 12 Apr 2008 17:03:56 +0000 (11:03 -0600)]
gallium: move duplicated compute_clipmask() code to draw_vs.h

16 years agogallium: merge the tgsi_emit_sse2() and tgsi_emit_sse2_fs() functions.
Brian Paul [Fri, 11 Apr 2008 21:27:00 +0000 (15:27 -0600)]
gallium: merge the tgsi_emit_sse2() and tgsi_emit_sse2_fs() functions.

The two functions were mostly the same.  We can look at the shader header
info to determine if it's a vertex or fragment shader.

16 years agogallium: handle TGSI immediates in SSE code for vertex shaders
Brian Paul [Fri, 11 Apr 2008 21:02:21 +0000 (15:02 -0600)]
gallium: handle TGSI immediates in SSE code for vertex shaders

16 years agogallium: implement immediates (aka literals) for SSE fragment shaders
Brian Paul [Fri, 11 Apr 2008 20:18:07 +0000 (14:18 -0600)]
gallium: implement immediates (aka literals) for SSE fragment shaders

16 years agogallium: comments
Brian Paul [Fri, 11 Apr 2008 19:44:47 +0000 (13:44 -0600)]
gallium: comments

16 years agogallium: fix SCS codegen (sin scalar src comes from X, not Y)
Brian Paul [Fri, 11 Apr 2008 19:21:39 +0000 (13:21 -0600)]
gallium: fix SCS codegen (sin scalar src comes from X, not Y)

16 years agomesa: fix broken x86_call()
Keith Whitwell [Fri, 11 Apr 2008 19:21:22 +0000 (13:21 -0600)]
mesa: fix broken x86_call()

16 years agogallium: fix broken x86_call()
Keith Whitwell [Fri, 11 Apr 2008 19:20:52 +0000 (13:20 -0600)]
gallium: fix broken x86_call()

16 years agogallium: Flush render cache at the beginning of fallback_copy_texsubimage().
Michel Dänzer [Fri, 11 Apr 2008 16:45:41 +0000 (17:45 +0100)]
gallium: Flush render cache at the beginning of fallback_copy_texsubimage().

It may get stale bits otherwise.

16 years agomesa: Fix glBegin-time test for invalid programs/shaders.
Brian Paul [Fri, 11 Apr 2008 16:14:17 +0000 (10:14 -0600)]
mesa: Fix glBegin-time test for invalid programs/shaders.

Cherry-picked from master.

16 years agomesa: new Z-compositing test (glDrawPixels(GL_DEPTH) + stencil)
Brian Paul [Fri, 11 Apr 2008 15:21:37 +0000 (09:21 -0600)]
mesa: new Z-compositing test (glDrawPixels(GL_DEPTH) + stencil)

16 years agoadd missing glViewport calls
Brian Paul [Fri, 11 Apr 2008 15:01:04 +0000 (09:01 -0600)]
add missing glViewport calls

cherry-picked from master

16 years agotgsi: Dump processor type and version as a single token.
Michal Krol [Mon, 7 Apr 2008 09:46:57 +0000 (11:46 +0200)]
tgsi: Dump processor type and version as a single token.

16 years agotgsi: Dump semantics before interpolator.
Michal Krol [Mon, 7 Apr 2008 09:44:34 +0000 (11:44 +0200)]
tgsi: Dump semantics before interpolator.

16 years agogallium: Thread condition variables.
José Fonseca [Fri, 11 Apr 2008 03:11:14 +0000 (12:11 +0900)]
gallium: Thread condition variables.

16 years agomesa: add a new test for glDrawPixels(GL_DEPTH_COMPONENT)
Brian Paul [Fri, 11 Apr 2008 00:28:43 +0000 (18:28 -0600)]
mesa: add a new test for glDrawPixels(GL_DEPTH_COMPONENT)

16 years agogallium: flags param to surface_alloc_storage() is unused and deprecated
Brian Paul [Mon, 7 Apr 2008 22:53:41 +0000 (16:53 -0600)]
gallium: flags param to surface_alloc_storage() is unused and deprecated

16 years agogallium: Attribute realloc leaks to the first malloc call.
José Fonseca [Thu, 10 Apr 2008 13:57:21 +0000 (22:57 +0900)]
gallium: Attribute realloc leaks to the first malloc call.

16 years agoremove usage of vertex_header
Keith Whitwell [Tue, 8 Apr 2008 16:59:28 +0000 (17:59 +0100)]
remove usage of vertex_header

16 years agogallium: fix readback of z16 values
Brian Paul [Thu, 10 Apr 2008 16:30:46 +0000 (10:30 -0600)]
gallium: fix readback of z16 values

16 years agogallium: more elaborate tracking of front color buffer state
Brian Paul [Thu, 10 Apr 2008 00:39:51 +0000 (18:39 -0600)]
gallium: more elaborate tracking of front color buffer state

This fixes the case where the app calls SwapBuffers then calls glReadPixels
to read the front color buffer.  We now keep track of when the front buffer
is a _logically_ copy of the back buffer (after SwapBuffers) and read from
the back color buffer instead of the front.

16 years agogallium: more flush/finish changes
Brian Paul [Wed, 9 Apr 2008 22:59:14 +0000 (16:59 -0600)]
gallium: more flush/finish changes

New, separate is_front_buffer_dirty() function.

16 years agogallium: reorder funcs
Brian Paul [Wed, 9 Apr 2008 22:32:46 +0000 (16:32 -0600)]
gallium: reorder funcs

16 years agogallium: call_flush_front_buffer() from st_glFinish()
Brian Paul [Wed, 9 Apr 2008 22:32:22 +0000 (16:32 -0600)]
gallium: call_flush_front_buffer() from st_glFinish()

16 years agogallium: fold st_gl_flush() into st_glFlush()
Brian Paul [Wed, 9 Apr 2008 22:30:28 +0000 (16:30 -0600)]
gallium: fold  st_gl_flush() into st_glFlush()