mesa.git
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.

16 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.

16 years agonv50: 3d driver skeleton
Ben Skeggs [Wed, 5 Dec 2007 03:01:01 +0000 (14:01 +1100)]
nv50: 3d driver skeleton

16 years agonouveau: g8x winsys support, yay softpipe!
Ben Skeggs [Wed, 5 Dec 2007 00:57:50 +0000 (11:57 +1100)]
nouveau: g8x winsys support, yay softpipe!

16 years agonv40: fix build after gallium changes
Ben Skeggs [Sun, 25 Nov 2007 02:05:56 +0000 (13:05 +1100)]
nv40: fix build after gallium changes

16 years agoMerge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
Ben Skeggs [Sun, 25 Nov 2007 02:00:15 +0000 (13:00 +1100)]
Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1

16 years agonv40: be more flexible with render target setup
Ben Skeggs [Sun, 25 Nov 2007 01:39:32 +0000 (12:39 +1100)]
nv40: be more flexible with render target setup

16 years agonv40: remove unused stuff
Ben Skeggs [Sun, 25 Nov 2007 01:06:42 +0000 (12:06 +1100)]
nv40: remove unused stuff

16 years agonv40: point sprites
Ben Skeggs [Sun, 25 Nov 2007 01:02:12 +0000 (12:02 +1100)]
nv40: point sprites

16 years agonv40: fp arbitrary swizzling/negation
Ben Skeggs [Sun, 25 Nov 2007 00:25:32 +0000 (11:25 +1100)]
nv40: fp arbitrary swizzling/negation

Pretty bad implementation, goal was to get glBitmap working.

16 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.

16 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.

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

16 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

16 years agonv40: support for keeping multiple vtxprogs on the hw at the same time.
Ben Skeggs [Fri, 23 Nov 2007 07:54:11 +0000 (18:54 +1100)]
nv40: support for keeping multiple vtxprogs on the hw at the same time.

16 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.

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

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

16 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.

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

16 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.

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

16 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.

16 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()

16 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.

16 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.

16 years agonouveau: wait for sync after m2mf also, to be thourough.
Ben Skeggs [Wed, 21 Nov 2007 08:21:34 +0000 (19:21 +1100)]
nouveau: wait for sync after m2mf also, to be thourough.

These will all go away at some point I promise, want to rule out sync issues
while I bash nv40 into shape.

16 years agonv40: Better teximage layout, probably not 100% correct still.
Ben Skeggs [Wed, 21 Nov 2007 08:20:38 +0000 (19:20 +1100)]
nv40: Better teximage layout, probably not 100% correct still.

Gallium represents image layout by saying that each mipmap level has a number
of "face" images within it.  However, nv40 represents them as "faces" that
have a number of mipmap levels.  I'm not sure if the gallium representation
allows this, but I've made an attempt to match it as closely as possible.

CUBE/3D textures with mipmaps are probably broken, but untested currently.

16 years agoMerge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
Ben Skeggs [Wed, 21 Nov 2007 04:38:28 +0000 (15:38 +1100)]
Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1

16 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

16 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

16 years agonv40: force reupload of all consts on vtxprog change
Ben Skeggs [Tue, 20 Nov 2007 11:34:55 +0000 (22:34 +1100)]
nv40: force reupload of all consts on vtxprog change

16 years agonouveau: temporary workaround for dodgy buffer code
Ben Skeggs [Tue, 20 Nov 2007 11:09:56 +0000 (22:09 +1100)]
nouveau: temporary workaround for dodgy buffer code

16 years agonv40: "rect" textures, anisotropic filtering
Ben Skeggs [Tue, 20 Nov 2007 10:13:33 +0000 (21:13 +1100)]
nv40: "rect" textures, anisotropic filtering

16 years agonv40: fix a couple of typos
Ben Skeggs [Tue, 20 Nov 2007 09:56:47 +0000 (20:56 +1100)]
nv40: fix a couple of typos

16 years agonv40: use native Z24_S8 format for zeta buffer
Ben Skeggs [Tue, 20 Nov 2007 08:10:58 +0000 (19:10 +1100)]
nv40: use native Z24_S8 format for zeta buffer

16 years agoAdd support for Z24_S8 to GL state tracker.
Ben Skeggs [Tue, 20 Nov 2007 08:09:47 +0000 (19:09 +1100)]
Add support for Z24_S8 to GL state tracker.

16 years agonv40: track pipe const id
Ben Skeggs [Tue, 20 Nov 2007 08:08:33 +0000 (19:08 +1100)]
nv40: track pipe const id

16 years agonv40: remove use of temps for KILP, implement KIL
Ben Skeggs [Tue, 20 Nov 2007 04:34:26 +0000 (15:34 +1100)]
nv40: remove use of temps for KILP, implement KIL

16 years agonouveau: update to latest header
Ben Skeggs [Tue, 20 Nov 2007 02:22:11 +0000 (13:22 +1100)]
nouveau: update to latest header

16 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

16 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

16 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.

16 years agonouveau: m2mf fallback path for region copies.
Ben Skeggs [Sun, 18 Nov 2007 12:08:33 +0000 (23:08 +1100)]
nouveau: m2mf fallback path for region copies.

16 years agonv40: fix thinko == fix 3d textures
Ben Skeggs [Sun, 18 Nov 2007 11:12:34 +0000 (22:12 +1100)]
nv40: fix thinko == fix 3d textures

16 years agonv40: support TXP again
Ben Skeggs [Sun, 18 Nov 2007 10:47:18 +0000 (21:47 +1100)]
nv40: support TXP again

16 years agonv40: some very rough guesses for get_paramf()
Ben Skeggs [Sun, 18 Nov 2007 06:59:45 +0000 (17:59 +1100)]
nv40: some very rough guesses for get_paramf()

16 years agonouveau: oops, when'd that disappear..
Ben Skeggs [Sun, 18 Nov 2007 06:49:30 +0000 (17:49 +1100)]
nouveau: oops, when'd that disappear..

16 years agonouveau: Very rough cut at gallium winsys + nv40 pipe driver.
Ben Skeggs [Sun, 18 Nov 2007 06:08:06 +0000 (17:08 +1100)]
nouveau: Very rough cut at gallium winsys + nv40 pipe driver.

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

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

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

16 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.

16 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

16 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

16 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

16 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.

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

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

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

16 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.