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.
Brian [Tue, 20 Nov 2007 15:36:06 +0000 (08:36 -0700)]
add PIPE_FORMAT_Z24_S8 support to softpipe patsh
Brian [Tue, 20 Nov 2007 15:30:10 +0000 (08:30 -0700)]
initial support for PIPE_FORMAT_Z24_S8
Brian [Tue, 20 Nov 2007 01:16:07 +0000 (18:16 -0700)]
optimize earlyz_quad(), add comments, remove unneeded #includes
Brian [Tue, 20 Nov 2007 01:15:21 +0000 (18:15 -0700)]
optimize linear_interpolation(), perspective_interpolation() functions
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.
José Fonseca [Sat, 17 Nov 2007 15:06:01 +0000 (15:06 +0000)]
Fix typo
José Fonseca [Fri, 16 Nov 2007 17:36:35 +0000 (17:36 +0000)]
Proper fence reference counting.
Brian [Sat, 17 Nov 2007 00:13:26 +0000 (17:13 -0700)]
more convenient debug code
Brian [Sat, 17 Nov 2007 00:13:01 +0000 (17:13 -0700)]
Reimplement glRasterPos using the private 'draw' module.
Brian [Sat, 17 Nov 2007 00:12:22 +0000 (17:12 -0700)]
adjustments so st_feedback_draw_vbo() can be used for glRasterPos
Brian [Fri, 16 Nov 2007 17:39:08 +0000 (10:39 -0700)]
note problem with fragment coord Y orientation
Brian [Fri, 16 Nov 2007 16:31:25 +0000 (09:31 -0700)]
added a clip-bypass flag to rasterizer state
José Fonseca [Thu, 15 Nov 2007 17:07:50 +0000 (17:07 +0000)]
Include fences in the i915simple winsys interface.
Brian [Fri, 9 Nov 2007 14:54:46 +0000 (07:54 -0700)]
comments, assertions
Brian [Fri, 9 Nov 2007 14:54:28 +0000 (07:54 -0700)]
minor simplifcation in vertex_fetch()
Alan Hourihane [Fri, 9 Nov 2007 09:21:40 +0000 (09:21 +0000)]
remove duplicate init func
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.
Brian [Thu, 8 Nov 2007 23:55:29 +0000 (16:55 -0700)]
remove unneeded #includes, added assertion in draw_compute_vertex_size()
Brian [Thu, 8 Nov 2007 23:37:25 +0000 (16:37 -0700)]
Remove unneeded header, draw_prim.h
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.
Brian [Thu, 8 Nov 2007 23:32:24 +0000 (16:32 -0700)]
new comments
Brian [Thu, 8 Nov 2007 23:26:55 +0000 (16:26 -0700)]
remove unneeded #includes
Brian [Thu, 8 Nov 2007 23:25:17 +0000 (16:25 -0700)]
comments, remove unneeded #includes
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.
Brian [Thu, 8 Nov 2007 22:01:13 +0000 (15:01 -0700)]
Implement shadow comparisons.
Brian [Thu, 8 Nov 2007 22:00:11 +0000 (15:00 -0700)]
use pipe_surface_reference() in sp_tile_cache_set_surface()
Brian [Thu, 8 Nov 2007 21:40:29 +0000 (14:40 -0700)]
simplify depth_value(), return proper value for Z16 format
Brian [Thu, 8 Nov 2007 20:17:43 +0000 (13:17 -0700)]
fix bad width/height code in softpipe_clear()
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.
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)
Brian [Thu, 8 Nov 2007 18:38:50 +0000 (11:38 -0700)]
new init_renderbuffer_bits() helper
Brian [Thu, 8 Nov 2007 17:10:35 +0000 (10:10 -0700)]
tweak anisotropic filtering code
Brian [Thu, 8 Nov 2007 17:08:24 +0000 (10:08 -0700)]
enable PIPE_CAP_TEXTURE_SHADOW_MAP (but not quite working yet)
Brian [Thu, 8 Nov 2007 17:07:57 +0000 (10:07 -0700)]
remove translate_compare_func(), use i915_translate_compare_func()
Brian [Thu, 8 Nov 2007 16:33:33 +0000 (09:33 -0700)]
move EXT_shadow_funcs assignment
Brian [Thu, 8 Nov 2007 16:33:13 +0000 (09:33 -0700)]
set sampler state for shadow test
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()
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.
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
Brian [Thu, 8 Nov 2007 15:52:36 +0000 (08:52 -0700)]
remove unneeded #include
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.
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
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.
Brian [Thu, 8 Nov 2007 00:29:14 +0000 (17:29 -0700)]
fix warning
Brian [Thu, 8 Nov 2007 00:17:32 +0000 (17:17 -0700)]
update flush/fence comments for i915_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.
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.
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...
Brian [Wed, 7 Nov 2007 22:57:19 +0000 (15:57 -0700)]
enable GL_ARB/NV_point_sprite together
Brian [Wed, 7 Nov 2007 22:22:31 +0000 (15:22 -0700)]
cosmetic fix to driFenceFinish() call
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
Brian [Wed, 7 Nov 2007 19:06:50 +0000 (12:06 -0700)]
just reorder a few members of pipe_winsys, update comments
Brian [Wed, 7 Nov 2007 18:59:04 +0000 (11:59 -0700)]
remove DriverCtx=intel assigment/hack
Brian [Wed, 7 Nov 2007 18:44:48 +0000 (11:44 -0700)]
Pass winsys as a parameter to intel_create_i915simple(), intel_create_softpipe()
Brian [Wed, 7 Nov 2007 17:39:30 +0000 (10:39 -0700)]
var renaming: s/sws/winsys/
Brian [Wed, 7 Nov 2007 17:34:18 +0000 (10:34 -0700)]
more dead code removal
Brian [Wed, 7 Nov 2007 21:41:14 +0000 (14:41 -0700)]
re-enable PIPE_FORMAT_U_Z32 support
Brian [Wed, 7 Nov 2007 21:41:01 +0000 (14:41 -0700)]
better depth buffer selection
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.
Brian [Wed, 7 Nov 2007 16:54:02 +0000 (09:54 -0700)]
disable/remove dead code
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
Brian [Wed, 7 Nov 2007 15:57:56 +0000 (08:57 -0700)]
redo xm_surface_release() to match i915
Brian [Wed, 7 Nov 2007 15:21:14 +0000 (08:21 -0700)]
fix bad varname
Brian [Wed, 7 Nov 2007 15:18:50 +0000 (08:18 -0700)]
init glsl functions in st_init_driver_functions()
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
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.
José Fonseca [Wed, 7 Nov 2007 13:21:01 +0000 (13:21 +0000)]
Check the right ammount of free space in vertex buffer.
José Fonseca [Wed, 7 Nov 2007 13:07:20 +0000 (13:07 +0000)]
Reset temporary vertices ids.
José Fonseca [Wed, 7 Nov 2007 12:08:19 +0000 (12:08 +0000)]
Use a consistent number to identify undefined vertices.
José Fonseca [Wed, 7 Nov 2007 11:04:02 +0000 (11:04 +0000)]
Reuse the vertex buffer until the vertex size changes.
José Fonseca [Tue, 6 Nov 2007 19:16:40 +0000 (19:16 +0000)]
Track hardware vertex buffer state changes.
Brian [Wed, 7 Nov 2007 00:34:32 +0000 (17:34 -0700)]
Improved logic for setting up depth/stencil buffers in st_create_framebuffer()
Brian [Wed, 7 Nov 2007 00:24:45 +0000 (17:24 -0700)]
restore dispatch/extension code (without, dynamic entrypoints aren't added)
Brian [Tue, 6 Nov 2007 23:40:05 +0000 (16:40 -0700)]
disable PIPE_FORMAT_U_Z32, doesn't work ATM
Brian [Tue, 6 Nov 2007 22:19:36 +0000 (15:19 -0700)]
Update xmesa_is_format_supported()
Brian [Tue, 6 Nov 2007 22:17:20 +0000 (15:17 -0700)]
realloc surface if format changes, remove dead code
Brian [Tue, 6 Nov 2007 22:16:42 +0000 (15:16 -0700)]
rename 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()
Brian [Tue, 6 Nov 2007 22:15:49 +0000 (15:15 -0700)]
disable finish_or_flush() for now
Brian [Tue, 6 Nov 2007 21:59:17 +0000 (14:59 -0700)]
remove dead code in softpipe_is_format_supported()
Brian [Tue, 6 Nov 2007 21:39:53 +0000 (14:39 -0700)]
document flags param to region_alloc()
Brian [Tue, 6 Nov 2007 17:25:56 +0000 (10:25 -0700)]
remove more dependencies on Mesa types/functions
Brian [Tue, 6 Nov 2007 17:19:27 +0000 (10:19 -0700)]
implement context sharing code
Brian [Tue, 6 Nov 2007 17:14:53 +0000 (10:14 -0700)]
code clean-up
Brian [Tue, 6 Nov 2007 20:58:25 +0000 (13:58 -0700)]
need to call pipe->flush() in finish_or_flush()
Brian [Tue, 6 Nov 2007 20:53:32 +0000 (13:53 -0700)]
init luminance/intensity_bits to zero in st_get_format_info()
Brian [Tue, 6 Nov 2007 20:52:57 +0000 (13:52 -0700)]
define CLIP_TILE as in sp_surface.c
Brian [Tue, 6 Nov 2007 20:42:37 +0000 (13:42 -0700)]
remove debug abort() call
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.
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.
Michel Dänzer [Tue, 6 Nov 2007 18:00:23 +0000 (19:00 +0100)]
Fix build error: dereferencing pointer to incomplete type
Brian [Tue, 6 Nov 2007 17:10:50 +0000 (10:10 -0700)]
Remove use of Mesa/GL types/functions (s/GLuint/uint/ etc)
Brian [Tue, 6 Nov 2007 17:07:31 +0000 (10:07 -0700)]
don't include mtypes.h
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().
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.
Brian [Tue, 6 Nov 2007 15:53:25 +0000 (08:53 -0700)]
check for __i386__ or __386__ instead of USE_X86_ASM
José Fonseca [Tue, 6 Nov 2007 14:43:20 +0000 (14:43 +0000)]
Allow custom pipe driver buffer usage flags.
José Fonseca [Mon, 5 Nov 2007 18:04:35 +0000 (18:04 +0000)]
Supply buffer usage hints to winsys.
Winsys driver needs some hints in order to allocate the appropriate kind of
memory for the buffer.
Michel Dänzer [Tue, 6 Nov 2007 09:17:59 +0000 (10:17 +0100)]
Convert format bitfields to shifts and masks.
The memory layout of bitfields depends on the ABI.