mesa.git
16 years agoTry to reduce the frequency of calls to pipe->get_tex_surface()
Brian [Sat, 8 Dec 2007 04:21:58 +0000 (21:21 -0700)]
Try to reduce the frequency of calls to pipe->get_tex_surface()

Save the surface info in the tile cache and re-use whenever possible.

16 years agoshorten loops over color bufs
Brian [Sat, 8 Dec 2007 03:58:01 +0000 (20:58 -0700)]
shorten loops over color bufs

16 years agocode re-org in softpipe_clear()
Brian [Sat, 8 Dec 2007 03:31:26 +0000 (20:31 -0700)]
code re-org in softpipe_clear()

16 years agoclean-ups
Brian [Sat, 8 Dec 2007 03:24:24 +0000 (20:24 -0700)]
clean-ups

16 years agoTile clearing optimizations.
Brian [Sat, 8 Dec 2007 03:13:10 +0000 (20:13 -0700)]
Tile clearing optimizations.

Clear using int values rather than floats when possible.  Better performance now.

16 years agoDisable, remove tnl module from the Gallium build since no longer used.
Brian [Sat, 8 Dec 2007 00:26:06 +0000 (17:26 -0700)]
Disable, remove tnl module from the Gallium build since no longer used.

16 years agoNew vbo_set_draw_func() to keep vbo context opaque to state tracker and tnl module.
Brian [Sat, 8 Dec 2007 00:24:42 +0000 (17:24 -0700)]
New vbo_set_draw_func() to keep vbo context opaque to state tracker and tnl module.

16 years agoDisable swrast, swrast_setup and driverfuncs in the build.
Brian [Sat, 8 Dec 2007 00:14:02 +0000 (17:14 -0700)]
Disable swrast, swrast_setup and driverfuncs in the build.

The gallium/state tracker no longer uses them and this speeds up the build a bit.

16 years agoMove _mesa_init_glsl_driver_functions() into shader_api.c
Brian [Sat, 8 Dec 2007 00:11:30 +0000 (17:11 -0700)]
Move _mesa_init_glsl_driver_functions() into shader_api.c

This allows making a bunch of functions static, and removes a state
tracker dependency on driverfuncs.c

16 years agoDefine PIPE_FORMAT_ tokens as an enum set, rather than #defines.
Brian [Fri, 7 Dec 2007 23:46:30 +0000 (16:46 -0700)]
Define PIPE_FORMAT_ tokens as an enum set, rather than #defines.

This makes debugging a _lot_ easier.
In gdb, "print format" used to display 613570600, now you see PIPE_FORMAT_A8R8G8B8_UNORM.

16 years agoinclude tgsi_dump.h
Brian [Fri, 7 Dec 2007 23:22:39 +0000 (16:22 -0700)]
include tgsi_dump.h

16 years agoReplace "duplicate" formats
Brian [Fri, 7 Dec 2007 23:15:14 +0000 (16:15 -0700)]
Replace "duplicate" formats

16 years agoGet rid of "duplicate" formats.
Brian [Fri, 7 Dec 2007 23:01:31 +0000 (16:01 -0700)]
Get rid of "duplicate" formats.

For example, replace PIPE_FORMAT_U_A8_R8_G8_B8 with PIPE_FORMAT_A8R8G8B8_UNORM

16 years agoEnable the tile clear "optimization"
Brian [Fri, 7 Dec 2007 22:47:39 +0000 (15:47 -0700)]
Enable the tile clear "optimization"

Not really faster yet because we're using the float-valued put/get_tile()
functions so we're doing quite a bit of float/int conversion.  That can
be fixed though...

16 years agoMake sp_tile_cache_flush_clear() static.
Brian [Fri, 7 Dec 2007 22:46:10 +0000 (15:46 -0700)]
Make sp_tile_cache_flush_clear() static.

Also, misc clean-ups, comments.

16 years agoConvert the clearValue back to floats for sp_tile_cache_clear()
Brian [Fri, 7 Dec 2007 22:44:58 +0000 (15:44 -0700)]
Convert the clearValue back to floats for sp_tile_cache_clear()

It might be nice if sp->clear() took the color/value as floats...

16 years agoSome tile cache improvements, clean-ups.
Brian [Fri, 7 Dec 2007 22:32:13 +0000 (15:32 -0700)]
Some tile cache improvements, clean-ups.

Code for optimized clears (per-tile flag indicating clear status) in place
but not enabled yet.

16 years agodon't dereference pt after realloc - fixes valgrind error
Brian [Fri, 7 Dec 2007 20:19:00 +0000 (13:19 -0700)]
don't dereference pt after realloc - fixes valgrind error

16 years agoadd some whitespace
Brian [Fri, 7 Dec 2007 20:08:28 +0000 (13:08 -0700)]
add some whitespace

16 years agoMove struct softpipe_texture definition into sp_texture.h
Brian [Fri, 7 Dec 2007 17:21:56 +0000 (10:21 -0700)]
Move struct softpipe_texture definition into sp_texture.h

Also, added softpipe_texture() cast wrapper.

16 years agominor code movement
Brian [Fri, 7 Dec 2007 17:18:34 +0000 (10:18 -0700)]
minor code movement

16 years agoAdd PIPE_FORMAT_U_B8_G8_R8_A8 in default_rgba_format().
Brian [Fri, 7 Dec 2007 15:28:59 +0000 (08:28 -0700)]
Add PIPE_FORMAT_U_B8_G8_R8_A8 in default_rgba_format().

Also, rewrite/simplify default_rgba_format() and default_depth_format().

16 years agobyteswapping fixes in choose_pixel_format()
Brian [Fri, 7 Dec 2007 15:24:56 +0000 (08:24 -0700)]
byteswapping fixes in choose_pixel_format()

16 years agoremove stray ;
Brian [Fri, 7 Dec 2007 15:24:33 +0000 (08:24 -0700)]
remove stray ;

16 years agoRemove obsolete xlib driver files
Brian [Fri, 7 Dec 2007 14:58:31 +0000 (07:58 -0700)]
Remove obsolete xlib driver files

16 years agoOverhaul the Xlib winsys layer.
Brian [Fri, 7 Dec 2007 14:57:54 +0000 (07:57 -0700)]
Overhaul the Xlib winsys layer.

Front/back color buffers are now allocated with ordinary malloc() via the
winsys buffer functions.
To display surfaces in SwapBuffers() or flush_frontbuffer() we create an
XImage that wraps the surface, then use XPutImage to copy to the window.
Shared memory transport disabled for now.

16 years agoadded ST_SURFACE_DEPTH
Brian [Fri, 7 Dec 2007 14:53:21 +0000 (07:53 -0700)]
added ST_SURFACE_DEPTH

16 years agomove surface pitch calculation so it always gets updated
Brian [Fri, 7 Dec 2007 14:53:06 +0000 (07:53 -0700)]
move surface pitch calculation so it always gets updated

16 years agofix void pointer arithmetic warnings
Brian [Fri, 7 Dec 2007 14:52:35 +0000 (07:52 -0700)]
fix void pointer arithmetic warnings

16 years agosilence void ptr arithmetic warning
Brian [Fri, 7 Dec 2007 14:48:33 +0000 (07:48 -0700)]
silence void ptr arithmetic warning

16 years agoEliminate struct pipe_region.
Michel Dänzer [Fri, 7 Dec 2007 11:30:35 +0000 (12:30 +0100)]
Eliminate struct pipe_region.

Directly use struct pipe_buffer_handle for storage and struct pipe_surface for
(un)mapping.

16 years agoRemove remnants of 'intel' from active state tracker code.
Michel Dänzer [Thu, 6 Dec 2007 10:30:34 +0000 (11:30 +0100)]
Remove remnants of 'intel' from active state tracker code.

16 years agost_mesa_format_to_pipe_format: Handle MESA_FORMAT_ARGB4444.
Michel Dänzer [Thu, 6 Dec 2007 10:25:40 +0000 (11:25 +0100)]
st_mesa_format_to_pipe_format: Handle MESA_FORMAT_ARGB4444.

16 years agoHide texture layout details from the state tracker.
Michel Dänzer [Fri, 30 Nov 2007 19:48:03 +0000 (20:48 +0100)]
Hide texture layout details from the state tracker.

pipe->get_tex_surface() has to be used for access to texture image data.

16 years agoAdd dependency checking for Cell driver sources.
Brian [Wed, 5 Dec 2007 21:57:19 +0000 (14:57 -0700)]
Add dependency checking for Cell driver sources.

16 years agosilence warning
Brian [Wed, 5 Dec 2007 21:54:29 +0000 (14:54 -0700)]
silence warning

16 years agoadded PIPE_FORMAT_U_B8_G8_R8_A8 case in color_value()
Brian [Wed, 5 Dec 2007 21:54:19 +0000 (14:54 -0700)]
added PIPE_FORMAT_U_B8_G8_R8_A8 case in color_value()

16 years agoFix endianness bug in _mesa_texstore_argb8888()
Brian [Wed, 5 Dec 2007 21:53:19 +0000 (14:53 -0700)]
Fix endianness bug in _mesa_texstore_argb8888()

On big-endian, storing in _mesa_texformat_argb8888 format produced wrong results.
Also, clean-up nearby code to match.

16 years agoadded B8G8R8A8 support and improved pixel format selection when doing remote display...
Brian [Wed, 5 Dec 2007 21:51:08 +0000 (14:51 -0700)]
added B8G8R8A8 support and improved pixel format selection when doing remote display to X server of different endianness.

16 years agoadded tile funcs for B8G8R8A8 format
Brian [Wed, 5 Dec 2007 21:48:09 +0000 (14:48 -0700)]
added tile funcs for B8G8R8A8 format

16 years agoadded B8G8R8A8 format
Brian [Wed, 5 Dec 2007 21:47:27 +0000 (14:47 -0700)]
added B8G8R8A8 format

16 years agoadded -fPIC
Brian [Sun, 2 Dec 2007 22:34:27 +0000 (15:34 -0700)]
added -fPIC

16 years agodon't build libglw
Brian [Sun, 2 Dec 2007 22:34:14 +0000 (15:34 -0700)]
don't build libglw

16 years agoInitial Cell driver infrastructure.
Brian [Sun, 2 Dec 2007 22:23:51 +0000 (15:23 -0700)]
Initial Cell driver infrastructure.

No real code yet.  Just stand-ins and make/build infrastructure.

16 years agoglut doesn't need -lXt
Brian [Sun, 2 Dec 2007 22:20:13 +0000 (15:20 -0700)]
glut doesn't need -lXt

16 years agoCover state tracker and winsys driver. Tweak parameters.
José Fonseca [Sun, 2 Dec 2007 17:13:28 +0000 (17:13 +0000)]
Cover state tracker and winsys driver. Tweak parameters.

17 years agoMove dimensions from struct pipe_region to struct pipe_surface.
Michel Dänzer [Wed, 28 Nov 2007 18:04:54 +0000 (19:04 +0100)]
Move dimensions from struct pipe_region to struct pipe_surface.

17 years agoCleanup PIPE_FORMAT names.
Michal Krol [Sat, 24 Nov 2007 16:02:31 +0000 (16:02 +0000)]
Cleanup PIPE_FORMAT names.
Add a function that builds a display name of a given format token.

17 years agogallium: remove sp_headers.h references.
Michal Krol [Fri, 23 Nov 2007 13:48:12 +0000 (13:48 +0000)]
gallium: remove sp_headers.h references.

17 years agogallium: reorg tgsi directories.
Michal Krol [Fri, 23 Nov 2007 13:28:16 +0000 (13:28 +0000)]
gallium: reorg tgsi directories.

17 years agogallium: back out winsys interface changes
Michal Krol [Fri, 23 Nov 2007 13:27:20 +0000 (13:27 +0000)]
gallium: back out winsys interface changes

17 years agoUse the new vertex buffer draw stage.
José Fonseca [Tue, 20 Nov 2007 13:26:34 +0000 (13:26 +0000)]
Use the new vertex buffer draw stage.

17 years agoNew vertex buffer stage.
José Fonseca [Tue, 20 Nov 2007 13:26:00 +0000 (13:26 +0000)]
New vertex buffer stage.

17 years agoFix build.
José Fonseca [Mon, 19 Nov 2007 19:22:30 +0000 (19:22 +0000)]
Fix build.

17 years agoThe right include was mtypes.h.
José Fonseca [Mon, 19 Nov 2007 22:01:32 +0000 (22:01 +0000)]
The right include was mtypes.h.

17 years agoFix build errors.
José Fonseca [Mon, 19 Nov 2007 17:23:55 +0000 (17:23 +0000)]
Fix build errors.

17 years agoFix compatibility issues between gcc and msvc.
Michal [Sun, 18 Nov 2007 13:20:57 +0000 (13:20 +0000)]
Fix compatibility issues between gcc and msvc.

17 years agoMake it compile under Win32.
Michal [Sat, 17 Nov 2007 14:26:24 +0000 (14:26 +0000)]
Make it compile under Win32.

17 years agoRemove fences from the i915simple winsys interface.
José Fonseca [Thu, 22 Nov 2007 10:56:09 +0000 (10:56 +0000)]
Remove fences from the i915simple winsys interface.

Fences will be part of the pipe winsys interface, so remove this to avoid
merge conflicts later on.

This reverts commit ca7f68a7cf25a51f382bba8c42d8c6ab7db57b5d.
This reverts commit dec60d33b2570cf2bdce72a00a1539ee93133f91.
This reverts commit 90dd0cb822f2fe14258c786e5c37da69472b7d17.

17 years agomore simplification, clean-up in draw_set_vertex_info()
Brian [Wed, 21 Nov 2007 23:03:16 +0000 (16:03 -0700)]
more simplification, clean-up in draw_set_vertex_info()

17 years agoReplace draw_set_vertex_attributes() with simpler draw_set_vertex_info().
Brian [Wed, 21 Nov 2007 23:00:57 +0000 (16:00 -0700)]
Replace draw_set_vertex_attributes() with simpler draw_set_vertex_info().

Just pass in the vertex_info object and make a copy of it.

17 years agoSimplify draw module's vertex_info.
Brian [Wed, 21 Nov 2007 22:40:20 +0000 (15:40 -0700)]
Simplify draw module's vertex_info.

No longer store the vertex header and clip pos info in the draw module's
vertex_info.  The vertex_info just describes the data[] elements.
This simplifies the code in several places.

17 years agoadd PIPE_FORMAT_Z24_S8 support to softpipe patsh
Brian [Tue, 20 Nov 2007 15:36:06 +0000 (08:36 -0700)]
add PIPE_FORMAT_Z24_S8 support to softpipe patsh

17 years agoinitial support for PIPE_FORMAT_Z24_S8
Brian [Tue, 20 Nov 2007 15:30:10 +0000 (08:30 -0700)]
initial support for PIPE_FORMAT_Z24_S8

17 years agooptimize earlyz_quad(), add comments, remove unneeded #includes
Brian [Tue, 20 Nov 2007 01:16:07 +0000 (18:16 -0700)]
optimize earlyz_quad(), add comments, remove unneeded #includes

17 years agooptimize linear_interpolation(), perspective_interpolation() functions
Brian [Tue, 20 Nov 2007 01:15:21 +0000 (18:15 -0700)]
optimize linear_interpolation(), perspective_interpolation() functions

17 years agoImplement early depth test.
Michal Krol [Sun, 18 Nov 2007 18:20:20 +0000 (18:20 +0000)]
Implement early depth test.

Early depth test is enabled when depth test is enabled and
alpha test is disabled and fragment shader does not write
depth.
The early-z is implemented by moving the depth test stage
just before the fragment shader stage and prepending it
with an earlyz stage, introduced with this commit.
The earlyz stage prepares the quad->outputs.depth for
the following depth test stage by interpolating Z position,
just as the fragment shader would do.

17 years agoFix typo
José Fonseca [Sat, 17 Nov 2007 15:06:01 +0000 (15:06 +0000)]
Fix typo

17 years agoProper fence reference counting.
José Fonseca [Fri, 16 Nov 2007 17:36:35 +0000 (17:36 +0000)]
Proper fence reference counting.

17 years agomore convenient debug code
Brian [Sat, 17 Nov 2007 00:13:26 +0000 (17:13 -0700)]
more convenient debug code

17 years agoReimplement glRasterPos using the private 'draw' module.
Brian [Sat, 17 Nov 2007 00:13:01 +0000 (17:13 -0700)]
Reimplement glRasterPos using the private 'draw' module.

17 years agoadjustments so st_feedback_draw_vbo() can be used for glRasterPos
Brian [Sat, 17 Nov 2007 00:12:22 +0000 (17:12 -0700)]
adjustments so st_feedback_draw_vbo() can be used for glRasterPos

17 years agonote problem with fragment coord Y orientation
Brian [Fri, 16 Nov 2007 17:39:08 +0000 (10:39 -0700)]
note problem with fragment coord Y orientation

17 years agoadded a clip-bypass flag to rasterizer state
Brian [Fri, 16 Nov 2007 16:31:25 +0000 (09:31 -0700)]
added a clip-bypass flag to rasterizer state

17 years agoInclude fences in the i915simple winsys interface.
José Fonseca [Thu, 15 Nov 2007 17:07:50 +0000 (17:07 +0000)]
Include fences in the i915simple winsys interface.

17 years agocomments, assertions
Brian [Fri, 9 Nov 2007 14:54:46 +0000 (07:54 -0700)]
comments, assertions

17 years agominor simplifcation in vertex_fetch()
Brian [Fri, 9 Nov 2007 14:54:28 +0000 (07:54 -0700)]
minor simplifcation in vertex_fetch()

17 years agoremove duplicate init func
Alan Hourihane [Fri, 9 Nov 2007 09:21:40 +0000 (09:21 +0000)]
remove duplicate init func

17 years agoReorganize user-space vertex fields in draw_context into 'user' group.
Brian [Fri, 9 Nov 2007 00:07:12 +0000 (17:07 -0700)]
Reorganize user-space vertex fields in draw_context into 'user' group.

This sub-struct collects the incoming user-provided data/pointers in one place.
Ex: draw->mapped_vbuffer becomes draw->user.vbuffer, etc.

17 years agoremove unneeded #includes, added assertion in draw_compute_vertex_size()
Brian [Thu, 8 Nov 2007 23:55:29 +0000 (16:55 -0700)]
remove unneeded #includes, added assertion in draw_compute_vertex_size()

17 years agoRemove unneeded header, draw_prim.h
Brian [Thu, 8 Nov 2007 23:37:25 +0000 (16:37 -0700)]
Remove unneeded header, draw_prim.h

17 years agoFix minor logic error in get_queued_prim() which caused flushing when there was still...
Brian [Thu, 8 Nov 2007 23:36:00 +0000 (16:36 -0700)]
Fix minor logic error in get_queued_prim() which caused flushing when there was still room in the prim queue.

17 years agonew comments
Brian [Thu, 8 Nov 2007 23:32:24 +0000 (16:32 -0700)]
new comments

17 years agoremove unneeded #includes
Brian [Thu, 8 Nov 2007 23:26:55 +0000 (16:26 -0700)]
remove unneeded #includes

17 years agocomments, remove unneeded #includes
Brian [Thu, 8 Nov 2007 23:25:17 +0000 (16:25 -0700)]
comments, remove unneeded #includes

17 years agoFor TGSI_TEXTURE_2D/RECT, need to provide 3 coords (STP) in case shadow compare mode...
Brian [Thu, 8 Nov 2007 22:02:42 +0000 (15:02 -0700)]
For TGSI_TEXTURE_2D/RECT, need to provide 3 coords (STP) in case shadow compare mode is enabled.

17 years agoImplement shadow comparisons.
Brian [Thu, 8 Nov 2007 22:01:13 +0000 (15:01 -0700)]
Implement shadow comparisons.

17 years agouse pipe_surface_reference() in sp_tile_cache_set_surface()
Brian [Thu, 8 Nov 2007 22:00:11 +0000 (15:00 -0700)]
use pipe_surface_reference() in sp_tile_cache_set_surface()

17 years agosimplify depth_value(), return proper value for Z16 format
Brian [Thu, 8 Nov 2007 21:40:29 +0000 (14:40 -0700)]
simplify depth_value(), return proper value for Z16 format

17 years agofix bad width/height code in softpipe_clear()
Brian [Thu, 8 Nov 2007 20:17:43 +0000 (13:17 -0700)]
fix bad width/height code in softpipe_clear()

17 years agoRemove TGSI_OPCODE_TXP
Brian [Thu, 8 Nov 2007 18:44:12 +0000 (11:44 -0700)]
Remove TGSI_OPCODE_TXP

Use TGSI_OPCODE_TEX with ExtDivide=TGSI_EXTSWIZZLE_W instead.

17 years agocheck for divide by W flag when translating TGSI_OPCODE_TEX (fixes projected textures)
Brian [Thu, 8 Nov 2007 18:39:42 +0000 (11:39 -0700)]
check for divide by W flag when translating TGSI_OPCODE_TEX (fixes projected textures)

17 years agonew init_renderbuffer_bits() helper
Brian [Thu, 8 Nov 2007 18:38:50 +0000 (11:38 -0700)]
new init_renderbuffer_bits() helper

17 years agotweak anisotropic filtering code
Brian [Thu, 8 Nov 2007 17:10:35 +0000 (10:10 -0700)]
tweak anisotropic filtering code

17 years agoenable PIPE_CAP_TEXTURE_SHADOW_MAP (but not quite working yet)
Brian [Thu, 8 Nov 2007 17:08:24 +0000 (10:08 -0700)]
enable PIPE_CAP_TEXTURE_SHADOW_MAP (but not quite working yet)

17 years agoremove translate_compare_func(), use i915_translate_compare_func()
Brian [Thu, 8 Nov 2007 17:07:57 +0000 (10:07 -0700)]
remove translate_compare_func(), use i915_translate_compare_func()

17 years agomove EXT_shadow_funcs assignment
Brian [Thu, 8 Nov 2007 16:33:33 +0000 (09:33 -0700)]
move EXT_shadow_funcs assignment

17 years agoset sampler state for shadow test
Brian [Thu, 8 Nov 2007 16:33:13 +0000 (09:33 -0700)]
set sampler state for shadow test

17 years agoReplace gl_stencil_func_to_sp() and gl_depth_func_to_sp() with st_compare_func_to_pipe()
Brian [Thu, 8 Nov 2007 16:31:57 +0000 (09:31 -0700)]
Replace gl_stencil_func_to_sp() and gl_depth_func_to_sp() with st_compare_func_to_pipe()

17 years agoFix some issues hit when rendering to a depth-only renderbuffer (shadowtex).
Brian [Thu, 8 Nov 2007 16:16:14 +0000 (09:16 -0700)]
Fix some issues hit when rendering to a depth-only renderbuffer (shadowtex).

Added 16bpp case to translate_depth_format().
Added framebuffer_size() to determine framebuffer size.