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

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.

17 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

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

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

17 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

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

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

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

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

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

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

17 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

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

17 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

17 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

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

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

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

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

17 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

17 years agobetter depth buffer selection
Brian [Wed, 7 Nov 2007 21:41:01 +0000 (14:41 -0700)]
better depth buffer selection

17 years agoFloat->uint conversion for PIPE_FORMAT_U_Z32 resulted in overflow in depth_value...
Brian [Wed, 7 Nov 2007 21:40:38 +0000 (14:40 -0700)]
Float->uint conversion for PIPE_FORMAT_U_Z32 resulted in overflow in depth_value().  Special-case it.

17 years agodisable/remove dead code
Brian [Wed, 7 Nov 2007 16:54:02 +0000 (09:54 -0700)]
disable/remove dead code

17 years agoDisable the call to driBOReference() in i915_update_texture()
Brian [Wed, 7 Nov 2007 16:53:25 +0000 (09:53 -0700)]
Disable the call to driBOReference() in i915_update_texture()

It doesn't seem to be needed and disabling it fixes a big memory leak with
some programs like xdemos/wincopy.c

17 years agoredo xm_surface_release() to match i915
Brian [Wed, 7 Nov 2007 15:57:56 +0000 (08:57 -0700)]
redo xm_surface_release() to match i915

17 years agofix bad varname
Brian [Wed, 7 Nov 2007 15:21:14 +0000 (08:21 -0700)]
fix bad varname

17 years agoinit glsl functions in st_init_driver_functions()
Brian [Wed, 7 Nov 2007 15:18:50 +0000 (08:18 -0700)]
init glsl functions in st_init_driver_functions()

17 years agofix typos, re-enable some extensions to get back to GL 2.1 level
Brian [Wed, 7 Nov 2007 15:18:34 +0000 (08:18 -0700)]
fix typos, re-enable some extensions to get back to GL 2.1 level

17 years agoAdd winsys->surface_release() to complement winsys->surface_alloc().
Brian [Wed, 7 Nov 2007 15:05:09 +0000 (08:05 -0700)]
Add winsys->surface_release() to complement winsys->surface_alloc().

pipe_surface now has a pointer to the winsys which create/owns the surface.
This allows clean surface deallocation w/out a rendering context.

17 years agoCheck the right ammount of free space in vertex buffer.
José Fonseca [Wed, 7 Nov 2007 13:21:01 +0000 (13:21 +0000)]
Check the right ammount of free space in vertex buffer.

17 years agoReset temporary vertices ids.
José Fonseca [Wed, 7 Nov 2007 13:07:20 +0000 (13:07 +0000)]
Reset temporary vertices ids.

17 years agoUse a consistent number to identify undefined vertices.
José Fonseca [Wed, 7 Nov 2007 12:08:19 +0000 (12:08 +0000)]
Use a consistent number to identify undefined vertices.

17 years agoReuse the vertex buffer until the vertex size changes.
José Fonseca [Wed, 7 Nov 2007 11:04:02 +0000 (11:04 +0000)]
Reuse the vertex buffer until the vertex size changes.

17 years agoTrack hardware vertex buffer state changes.
José Fonseca [Tue, 6 Nov 2007 19:16:40 +0000 (19:16 +0000)]
Track hardware vertex buffer state changes.

17 years agoImproved logic for setting up depth/stencil buffers in st_create_framebuffer()
Brian [Wed, 7 Nov 2007 00:34:32 +0000 (17:34 -0700)]
Improved logic for setting up depth/stencil buffers in st_create_framebuffer()

17 years agorestore dispatch/extension code (without, dynamic entrypoints aren't added)
Brian [Wed, 7 Nov 2007 00:24:45 +0000 (17:24 -0700)]
restore dispatch/extension code (without, dynamic entrypoints aren't added)

17 years agodisable PIPE_FORMAT_U_Z32, doesn't work ATM
Brian [Tue, 6 Nov 2007 23:40:05 +0000 (16:40 -0700)]
disable PIPE_FORMAT_U_Z32, doesn't work ATM

17 years agoUpdate xmesa_is_format_supported()
Brian [Tue, 6 Nov 2007 22:19:36 +0000 (15:19 -0700)]
Update xmesa_is_format_supported()

17 years agorealloc surface if format changes, remove dead code
Brian [Tue, 6 Nov 2007 22:17:20 +0000 (15:17 -0700)]
realloc surface if format changes, remove dead code

17 years agorename xmesa_create_softpipe() xmesa_create_context()
Brian [Tue, 6 Nov 2007 22:16:42 +0000 (15:16 -0700)]
rename xmesa_create_softpipe() xmesa_create_context()

17 years agorename xmesa_create_softpipe() xmesa_create_context()
Brian [Tue, 6 Nov 2007 22:16:22 +0000 (15:16 -0700)]
rename xmesa_create_softpipe() xmesa_create_context()

17 years agodisable finish_or_flush() for now
Brian [Tue, 6 Nov 2007 22:15:49 +0000 (15:15 -0700)]
disable finish_or_flush() for now

17 years agoremove dead code in softpipe_is_format_supported()
Brian [Tue, 6 Nov 2007 21:59:17 +0000 (14:59 -0700)]
remove dead code in softpipe_is_format_supported()

17 years agodocument flags param to region_alloc()
Brian [Tue, 6 Nov 2007 21:39:53 +0000 (14:39 -0700)]
document flags param to region_alloc()

17 years agoremove more dependencies on Mesa types/functions
Brian [Tue, 6 Nov 2007 17:25:56 +0000 (10:25 -0700)]
remove more dependencies on Mesa types/functions

17 years agoimplement context sharing code
Brian [Tue, 6 Nov 2007 17:19:27 +0000 (10:19 -0700)]
implement context sharing code

17 years agocode clean-up
Brian [Tue, 6 Nov 2007 17:14:53 +0000 (10:14 -0700)]
code clean-up

17 years agoneed to call pipe->flush() in finish_or_flush()
Brian [Tue, 6 Nov 2007 20:58:25 +0000 (13:58 -0700)]
need to call pipe->flush() in finish_or_flush()

17 years agoinit luminance/intensity_bits to zero in st_get_format_info()
Brian [Tue, 6 Nov 2007 20:53:32 +0000 (13:53 -0700)]
init luminance/intensity_bits to zero in st_get_format_info()

17 years agodefine CLIP_TILE as in sp_surface.c
Brian [Tue, 6 Nov 2007 20:52:57 +0000 (13:52 -0700)]
define CLIP_TILE as in sp_surface.c

17 years agoremove debug abort() call
Brian [Tue, 6 Nov 2007 20:42:37 +0000 (13:42 -0700)]
remove debug abort() call

17 years agoCall xmesa_init_driver_functions() to install xmesa_viewport() function.
Brian [Tue, 6 Nov 2007 20:39:02 +0000 (13:39 -0700)]
Call xmesa_init_driver_functions() to install xmesa_viewport() function.

Fixes failed assertion in glxgears.

17 years agoHandle the corner case of 24bit depth buffer with 0bit stencil buffer.
José Fonseca [Tue, 6 Nov 2007 17:38:47 +0000 (17:38 +0000)]
Handle the corner case of 24bit depth buffer with 0bit stencil buffer.