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

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

16 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

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

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

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

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

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

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

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

16 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

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

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

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

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

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

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

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

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

16 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

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

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

16 years agoin check_end_texture_render(), test for presence of a renderbuffer and texobj
Brian [Thu, 8 Nov 2007 16:14:43 +0000 (09:14 -0700)]
in check_end_texture_render(), test for presence of a renderbuffer and texobj

16 years agoremove unneeded #include
Brian [Thu, 8 Nov 2007 15:52:36 +0000 (08:52 -0700)]
remove unneeded #include

16 years agoAdded pipe->get_paramf() to query float limits.
Brian [Thu, 8 Nov 2007 15:22:42 +0000 (08:22 -0700)]
Added pipe->get_paramf() to query float limits.

So far max point size, line width, texture anistopy and lod bias.

16 years agocheck for fence==NULL in intel_batchbuffer_finish(), fixes glxinfo crash on exit
Brian [Thu, 8 Nov 2007 14:58:53 +0000 (07:58 -0700)]
check for fence==NULL in intel_batchbuffer_finish(), fixes glxinfo crash on exit

16 years agoRename struct field 'private' to 'priv'.
Michel Dänzer [Thu, 8 Nov 2007 12:10:18 +0000 (13:10 +0100)]
Rename struct field 'private' to 'priv'.

This broke the LLVM build because 'private' is a C++ keyword.

16 years agofix warning
Brian [Thu, 8 Nov 2007 00:29:14 +0000 (17:29 -0700)]
fix warning

16 years agoupdate flush/fence comments for i915_flush()
Brian [Thu, 8 Nov 2007 00:17:32 +0000 (17:17 -0700)]
update flush/fence comments for i915_flush()

16 years agoRemove winsys->wait_idle(), subsumed by pipe->flush().
Brian [Thu, 8 Nov 2007 00:16:47 +0000 (17:16 -0700)]
Remove winsys->wait_idle(), subsumed by pipe->flush().

Connect intel_i915_batch_finish() into i915_winsys, just like intel_i915_batch_flush().
Call i915_winsys->batch_finish() in response to pipe->flush(PIPE_FLUSH_WAIT).
Now all the batchbuffer/fence code is in one place and a little cleaner.

16 years agoNew PIPE_FLUSH_WAIT flag for pipe->flush().
Brian [Wed, 7 Nov 2007 23:59:37 +0000 (16:59 -0700)]
New PIPE_FLUSH_WAIT flag for pipe->flush().

The state tracker doesn't have to directly call winsys->wait_idle() anymore.
glFlush and glFinish both go through pipe->flush() now.

16 years agoRemove context dependencies in winsys layer.
Brian [Wed, 7 Nov 2007 23:07:17 +0000 (16:07 -0700)]
Remove context dependencies in winsys layer.

The winsys object is now per-screen and shared by multiple contexts.
The regionPool is now part of the i915 winsys layer.
The winsys wait_idle() and flush_frontbuffer() funcs will get more attention...

16 years agoenable GL_ARB/NV_point_sprite together
Brian [Wed, 7 Nov 2007 22:57:19 +0000 (15:57 -0700)]
enable GL_ARB/NV_point_sprite together

16 years agocosmetic fix to driFenceFinish() call
Brian [Wed, 7 Nov 2007 22:22:31 +0000 (15:22 -0700)]
cosmetic fix to driFenceFinish() call

16 years agoreplace magic number 3 with DRM_FENCE_TYPE_EXE | DRM_I915_FENCE_TYPE_RW in driFenceFi...
Brian [Wed, 7 Nov 2007 22:22:07 +0000 (15:22 -0700)]
replace magic number 3 with DRM_FENCE_TYPE_EXE | DRM_I915_FENCE_TYPE_RW in driFenceFinish() call

16 years agojust reorder a few members of pipe_winsys, update comments
Brian [Wed, 7 Nov 2007 19:06:50 +0000 (12:06 -0700)]
just reorder a few members of pipe_winsys, update comments

16 years agoremove DriverCtx=intel assigment/hack
Brian [Wed, 7 Nov 2007 18:59:04 +0000 (11:59 -0700)]
remove DriverCtx=intel assigment/hack

16 years agoPass winsys as a parameter to intel_create_i915simple(), intel_create_softpipe()
Brian [Wed, 7 Nov 2007 18:44:48 +0000 (11:44 -0700)]
Pass winsys as a parameter to intel_create_i915simple(), intel_create_softpipe()

16 years agovar renaming: s/sws/winsys/
Brian [Wed, 7 Nov 2007 17:39:30 +0000 (10:39 -0700)]
var renaming: s/sws/winsys/

16 years agomore dead code removal
Brian [Wed, 7 Nov 2007 17:34:18 +0000 (10:34 -0700)]
more dead code removal

16 years agore-enable PIPE_FORMAT_U_Z32 support
Brian [Wed, 7 Nov 2007 21:41:14 +0000 (14:41 -0700)]
re-enable PIPE_FORMAT_U_Z32  support