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

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.

17 years agoFix build error: dereferencing pointer to incomplete type
Michel Dänzer [Tue, 6 Nov 2007 18:00:23 +0000 (19:00 +0100)]
Fix build error: dereferencing pointer to incomplete type

17 years agoRemove use of Mesa/GL types/functions (s/GLuint/uint/ etc)
Brian [Tue, 6 Nov 2007 17:10:50 +0000 (10:10 -0700)]
Remove use of Mesa/GL types/functions (s/GLuint/uint/ etc)

17 years agodon't include mtypes.h
Brian [Tue, 6 Nov 2007 17:07:31 +0000 (10:07 -0700)]
don't include mtypes.h

17 years agoRemove last of core Mesa dependencies in intel_swapbuffers.c
Brian [Tue, 6 Nov 2007 17:05:01 +0000 (10:05 -0700)]
Remove last of core Mesa dependencies in intel_swapbuffers.c

Use the "dummyContext" pointer (for now) instead of GET_CURRENT_CONTEXT().

17 years agoRemove pipe->max_texture_size(), use get_param() instead.
Brian [Tue, 6 Nov 2007 16:41:45 +0000 (09:41 -0700)]
Remove pipe->max_texture_size(), use get_param() instead.

Also, in st_init_limits(), clamp driver's values against Mesa's internal limits.

17 years agocheck for __i386__ or __386__ instead of USE_X86_ASM
Brian [Tue, 6 Nov 2007 15:53:25 +0000 (08:53 -0700)]
check for __i386__ or __386__ instead of USE_X86_ASM

17 years agoAllow custom pipe driver buffer usage flags.
José Fonseca [Tue, 6 Nov 2007 14:43:20 +0000 (14:43 +0000)]
Allow custom pipe driver buffer usage flags.