José Fonseca [Tue, 20 Nov 2007 13:26:00 +0000 (13:26 +0000)]
New vertex buffer stage.
José Fonseca [Mon, 19 Nov 2007 19:22:30 +0000 (19:22 +0000)]
Fix build.
José Fonseca [Mon, 19 Nov 2007 22:01:32 +0000 (22:01 +0000)]
The right include was mtypes.h.
José Fonseca [Mon, 19 Nov 2007 17:23:55 +0000 (17:23 +0000)]
Fix build errors.
Michal [Sun, 18 Nov 2007 13:20:57 +0000 (13:20 +0000)]
Fix compatibility issues between gcc and msvc.
Michal [Sat, 17 Nov 2007 14:26:24 +0000 (14:26 +0000)]
Make it compile under Win32.
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.
Brian [Wed, 21 Nov 2007 23:03:16 +0000 (16:03 -0700)]
more simplification, clean-up in 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.
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.