OSDN Git Service
George Sapountzis [Sun, 21 Mar 2010 17:20:15 +0000 (19:20 +0200)]
fix scons build
George Sapountzis [Sun, 21 Mar 2010 13:37:40 +0000 (15:37 +0200)]
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/mesa
George Sapountzis [Sun, 21 Mar 2010 13:32:50 +0000 (15:32 +0200)]
Revert "Makefile.template: respect LIBRARY_DEFINES in mkdep"
This reverts commit
9ec29e31919e85f9230867f43841c0e74be930d3.
Christoph Bumiller [Sun, 21 Mar 2010 13:05:20 +0000 (14:05 +0100)]
nv50: report driver as GLSL capable
There's still no hint of optimization in the shaders, but
we support conditionals, loops and even integer opcodes so
it isn't that big a lie.
George Sapountzis [Sun, 21 Mar 2010 13:05:21 +0000 (15:05 +0200)]
Merge branch 'master' of git://anongit.freedesktop.org/git/mesa/mesa
George Sapountzis [Sun, 21 Mar 2010 13:01:36 +0000 (15:01 +0200)]
drm/sw: just s/softpipe_create_screen/gallium_soft_create_screen/
This partially reverts commit
f87a5f6499f51f651c2a9f2d4682875b22926905.
Christoph Bumiller [Sun, 21 Mar 2010 11:26:08 +0000 (12:26 +0100)]
nv50: don't validate arrays on clear
The vertex elements and buffers might not be valid anymore.
Christoph Bumiller [Sun, 21 Mar 2010 12:17:02 +0000 (13:17 +0100)]
nv50: get rid of the static_init stateobj
Relocations of per-screen buffers are now emitted directly,
and include the necessary method to get changes in constbuf
addresses committed to the hw.
It should also be a bit cheaper than the way stateobjs emit
relocation markers, use a little less pushbuf space.
George Sapountzis [Fri, 19 Mar 2010 00:38:11 +0000 (02:38 +0200)]
gallium: add soft screen helper
George Sapountzis [Fri, 19 Mar 2010 00:38:11 +0000 (02:38 +0200)]
dri1_api: need not include drm.h
George Sapountzis [Fri, 19 Mar 2010 00:38:11 +0000 (02:38 +0200)]
drm/sw: does not need sw_winsys
George Sapountzis [Fri, 19 Mar 2010 00:38:11 +0000 (02:38 +0200)]
drm/sw: llvmpipe texture_from_handle
Not sure, but judging by softpipe, this hook was forgotten.
George Sapountzis [Fri, 19 Mar 2010 00:38:10 +0000 (02:38 +0200)]
Makefile.template: respect LIBRARY_DEFINES in mkdep
George Sapountzis [Fri, 19 Mar 2010 00:38:10 +0000 (02:38 +0200)]
rename dri_sw to drisw_util for consistency
George Sapountzis [Fri, 19 Mar 2010 00:38:09 +0000 (02:38 +0200)]
dri_inteface: add define for checking presence of drm.h
__NOT_HAVE_DRM_H is a like a feature, defined by default on specific platforms
and allows to be defined externally as well.
__NOT_HAVE_DRM_H should only be used by xserver and mesa swrast_dri drivers
George Sapountzis [Fri, 19 Mar 2010 23:51:00 +0000 (01:51 +0200)]
glx: minor cosmetic
George Sapountzis [Fri, 19 Mar 2010 00:38:09 +0000 (02:38 +0200)]
glx: swapBuffers prototype has changed
Francisco Jerez [Sun, 21 Mar 2010 10:49:46 +0000 (11:49 +0100)]
dri/nouveau: Reemit the light model state when lighting goes on/off.
Francisco Jerez [Sun, 21 Mar 2010 10:49:20 +0000 (11:49 +0100)]
dri/nouveau: Random cleanups.
Dave Airlie [Sun, 21 Mar 2010 09:36:15 +0000 (19:36 +1000)]
r300g: fix occlusion query hangs.
Okay need to revist the whole OQ stuff anyways, glean test asserts
which is never good.
I'm liking the cached bufmgr restrictions less and less, I think I'll
probably play with the fence and/or busy stuff ASAP and try and clean it up.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Sun, 21 Mar 2010 08:25:31 +0000 (18:25 +1000)]
r300g: add bufmgr cached for vertex/index buffers.
This adds the cached bufmgr for vertex/index buffers on top of the kernel
manager.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Sun, 21 Mar 2010 08:23:22 +0000 (18:23 +1000)]
gallium: cached bufmgr add map busy check
Suggested by Jose on the list, probably not perfect but will let me get
past this for now, testing with a fenced bufmgr on top of this, was slower,
Also this doesn't let you do the busy early exit optimisation either from
what I can see.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Chia-I Wu [Sun, 21 Mar 2010 08:32:34 +0000 (16:32 +0800)]
Merge remote branch 'origin/gallium-st-api-dri'
Marek Olšák [Sun, 21 Mar 2010 03:49:35 +0000 (04:49 +0100)]
r300g: align misaligned ushort vertex indices
Marek Olšák [Sun, 21 Mar 2010 03:39:33 +0000 (04:39 +0100)]
r300g: fix misaligned generated offset for ubyte vertex indices
Marek Olšák [Sat, 20 Mar 2010 21:14:59 +0000 (22:14 +0100)]
r300g: split the vertex buffer alignment validation
Marek Olšák [Sat, 20 Mar 2010 20:26:19 +0000 (21:26 +0100)]
r300g: skip null vertex buffers
Marek Olšák [Sat, 20 Mar 2010 17:31:11 +0000 (18:31 +0100)]
r300/compiler: fix assertion failure in the r500-fragprog emission path
Corbin Simpson [Sun, 21 Mar 2010 00:18:22 +0000 (17:18 -0700)]
r300g: Bump immediate limits.
Seems like a decent idea, especially since the big barrier now is
getting the VBOs back from the VRAM boundary.
Corbin Simpson [Sun, 21 Mar 2010 00:16:46 +0000 (17:16 -0700)]
r300g: Correctly hax max_index on pipe_vertex_buffers.
Still not happy with this, but at least things seem to work.
Corbin Simpson [Sat, 20 Mar 2010 23:15:36 +0000 (16:15 -0700)]
radeong: Use TRUE and FALSE.
Corbin Simpson [Sat, 20 Mar 2010 23:14:20 +0000 (16:14 -0700)]
radeong: Test the BO ptr for NULL instead of using a bool.
Slight memory savings, but more importantly also avoids a potential NULL
dereference.
Dave Airlie [Sat, 20 Mar 2010 20:34:11 +0000 (06:34 +1000)]
r300g: winsys fix tiling change flushes.
If we change the tiling on a buffer we need to flush it, the old
radeon_buffer.c code had this but it crossed streams when I ported to
radeon_drm_buffer.c and I missed it. Should fix some piglit regressions.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Sat, 20 Mar 2010 20:32:48 +0000 (06:32 +1000)]
r300g: add buffer/texture referenced checks.
I've no idea about the comments that were in there, just pass
this down to the winsys.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Brian Paul [Sat, 20 Mar 2010 18:05:25 +0000 (12:05 -0600)]
docs: note GL_EXT_packed_float, GL_EXT_shared_exponent extensions
Brian Paul [Sat, 20 Mar 2010 18:04:52 +0000 (12:04 -0600)]
mesa: added GL3 query for GL_TEXTURE_SHARED_SIZE
Brian Paul [Sat, 20 Mar 2010 17:55:24 +0000 (11:55 -0600)]
mesa: added missing glGet query for GL_MAX_ARRAY_TEXTURE_LAYERS_EXT
Brian Paul [Sat, 20 Mar 2010 17:52:12 +0000 (11:52 -0600)]
mesa: added new GL3 buffer object queries
And clean up the error checking code.
Brian Paul [Sat, 20 Mar 2010 17:50:55 +0000 (11:50 -0600)]
mesa: added GL3 buffer attachment aliases
Brian Paul [Sat, 20 Mar 2010 17:50:29 +0000 (11:50 -0600)]
mesa: added GL3 ContextFlags field and query code
George Sapountzis [Fri, 19 Mar 2010 19:16:21 +0000 (19:16 +0000)]
st/dri: fix bug in make_current
George Sapountzis [Fri, 19 Mar 2010 00:38:10 +0000 (02:38 +0200)]
st/dri: fix bug in allocate_textures
Brian Paul [Fri, 19 Mar 2010 16:02:16 +0000 (10:02 -0600)]
gallivm: simplify and clean-up Z/stencil bit mask/shift code
Refactor the code into two helper functions which compute the bit mask
and shift terms for Z and stencil. Plus add a bunch of new comments to
explain everything.
Roland Scheidegger [Fri, 19 Mar 2010 15:30:47 +0000 (16:30 +0100)]
cso: remove cso_set/save/restore_sampler_textures
no longer used after all statetrackers have been converted.
Roland Scheidegger [Fri, 19 Mar 2010 15:29:22 +0000 (16:29 +0100)]
st/vega: fix up vega state tracker to use cso changes
use cso fragment sampler views instead of sampler textures.
since we don't really change views, try to store sampler views instead
of the textures to avoid having to recreate views most of the time.
Brian Paul [Fri, 19 Mar 2010 13:36:50 +0000 (07:36 -0600)]
es: added -I$(TOP)/include path
Michal Krol [Fri, 19 Mar 2010 08:08:33 +0000 (09:08 +0100)]
gallium/docs: Clarify sampler view descriptions.
Corbin Simpson [Fri, 19 Mar 2010 07:07:55 +0000 (00:07 -0700)]
gallium/docs: Fix a couple ReST errors.
Marek Olšák [Fri, 19 Mar 2010 03:46:15 +0000 (04:46 +0100)]
r300g: lod min/max clamping should be relative to the base level
Marek Olšák [Fri, 19 Mar 2010 00:13:57 +0000 (01:13 +0100)]
r300g: fix breakage after the gallium-sampler-view merge
Marek Olšák [Thu, 18 Mar 2010 20:18:36 +0000 (21:18 +0100)]
r300g: add PIPE_FORMAT_B5G5R5X1_UNORM colorbuffer support, cleanups
Marek Olšák [Thu, 18 Mar 2010 19:58:04 +0000 (20:58 +0100)]
r300g: mark SRGB colorbuffers as unsupported
I can't find the register bits for SRGB-aware blending and it's not even
exposed by fglrx so it's most probably not supported by hw.
Marek Olšák [Thu, 24 Dec 2009 20:29:41 +0000 (21:29 +0100)]
r300g: add generating texture coordinates for point sprites (WIP)
Brian Paul [Thu, 18 Mar 2010 23:27:39 +0000 (17:27 -0600)]
gallivm: support PIPE_FORMAT_Z24S8_UNORM in depth/stencil code
Brian Paul [Thu, 18 Mar 2010 21:04:31 +0000 (15:04 -0600)]
progs/tests: also test stencil INCR_WRAP mode if supported
Brian Paul [Thu, 18 Mar 2010 21:02:13 +0000 (15:02 -0600)]
gallivm: fix broken INCR/DECR stencil modes
We were mistakenly using the wrong data type for stencil values before.
Brian Paul [Thu, 18 Mar 2010 20:53:43 +0000 (14:53 -0600)]
progs/tests: comments and clean-ups
Brian Paul [Thu, 18 Mar 2010 19:02:53 +0000 (13:02 -0600)]
gallivm/llvmpipe: added lp_rast_shader_inputs::facing and pass through
The triangle rasterizer sets this field to indicate front/back-facing.
It gets passed into the generated fragment code as another parameter.
Used now for stencil front/back selection but will also be used for
fragment shaders in general (see TGSI_SEMANTIC_FACE).
With this commit two-sided stenciling mostly works but there's
still a bug or two...
Brian Paul [Thu, 18 Mar 2010 18:04:50 +0000 (12:04 -0600)]
llvmpipe: defines for RAST_WHOLE, RAST_EDGE_TEST
Alan Hourihane [Thu, 18 Mar 2010 18:01:05 +0000 (18:01 +0000)]
Add format B5G5R5X1
Brian Paul [Thu, 18 Mar 2010 17:31:38 +0000 (11:31 -0600)]
gallivm/llvmpipe: simplify front/back stencil ref value handling
Instead of passing an array, just pass two scalar values.
Brian Paul [Thu, 18 Mar 2010 17:18:01 +0000 (11:18 -0600)]
gallivm: checkpoint WIP two-sided stencil test
Brian Paul [Thu, 18 Mar 2010 15:30:13 +0000 (09:30 -0600)]
llvmpipe: set opaque = FALSE if stencil enabled
Fixes occasional bad tiles seen in some demos like progs/demos/reflect.c
Francisco Jerez [Thu, 18 Mar 2010 12:46:20 +0000 (13:46 +0100)]
dri/nouveau: Flush after texture validation.
Swizzling needs the destination surface in VRAM, but the subsequent
rendering operations making use of it are likely to not care. Fire the
ring after validation to leave the memory manager more room for
maneuvering.
Francisco Jerez [Thu, 18 Mar 2010 13:19:10 +0000 (14:19 +0100)]
dri/nouveau: Avoid pushbuf flushes in the middle of LMA setup.
Francisco Jerez [Thu, 18 Mar 2010 13:18:55 +0000 (14:18 +0100)]
dri/nouveau: Implement texcoord generation.
Francisco Jerez [Thu, 18 Mar 2010 13:13:36 +0000 (14:13 +0100)]
dri/nouveau: Implement texture matrices.
Francisco Jerez [Thu, 11 Mar 2010 20:48:51 +0000 (21:48 +0100)]
dri/nouveau: Some minor vertex submission fixes.
Xavier Chantry [Sat, 13 Mar 2010 18:28:07 +0000 (19:28 +0100)]
dri/nouveau: only reallocate texture when needed
nouveau reallocated the mipmap tree on every MIN_FILTER call to account
for mipmap change. We only need to do this if the texture does not fit
in the existing mipmap tree. This gives a big performance boost for a
game like bzflag which changes MIN_FILTER all the time for its font
rendering.
Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com>
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
José Fonseca [Thu, 18 Mar 2010 10:24:10 +0000 (10:24 +0000)]
llvmpipe: Fix crashes when there is no depth buffer bound.
Kristian Høgsberg [Thu, 18 Mar 2010 02:44:58 +0000 (22:44 -0400)]
intel: Call _mesa_make_current() after getting initial buffers
The default viewport is the window rectangle, which is set up by
_mesa_make_current(). To be able to do that we need to get the
window dimension (and buffers) first, so we have to call
intel_prepare_render() before we can call into _mesa_make_current().
Fixes #26676 and #26678.
Chia-I Wu [Thu, 18 Mar 2010 01:24:10 +0000 (09:24 +0800)]
st/mesa: Set the pipe context of the texture object.
The field was added in
b8030c6561e019e079b5be2fe64ec804df4bfa03. This
fixes a NULL dereference in xdemos/texture_from_pixmap.
Chia-I Wu [Mon, 8 Mar 2010 14:19:48 +0000 (22:19 +0800)]
st/dri: Switch from st_public.h to st_api.h.
This is tested with demos found in progs/demos. However, only the DRI2
path is tested.
Chia-I Wu [Mon, 8 Mar 2010 11:25:32 +0000 (19:25 +0800)]
st/dri: Implement st_api.h callbacks.
This commit adds dri_st_api.c that implements st_api.h callbacks. A
following commit will switch st/dri from st_public.h to st_api.h.
Chia-I Wu [Tue, 16 Mar 2010 02:55:40 +0000 (10:55 +0800)]
st/dri: Headers and public symbols clean up.
Remove unused headers and stop marking driDriverAPI as PUBLIC.
Chia-I Wu [Tue, 16 Mar 2010 02:31:40 +0000 (10:31 +0800)]
st/dri: Move DRI1 bits in dri_context.c to dri1.c.
Chia-I Wu [Tue, 16 Mar 2010 02:25:50 +0000 (10:25 +0800)]
st/dri: Move DRI1 bits in dri_drawable.c to dri1.c.
Chia-I Wu [Tue, 16 Mar 2010 01:47:18 +0000 (09:47 +0800)]
st/dri: Move DRI1 bits in dri_screen.c to dri1.c.
Brian Paul [Wed, 17 Mar 2010 22:26:41 +0000 (16:26 -0600)]
progs/trivial: added comments
Brian Paul [Wed, 17 Mar 2010 22:24:12 +0000 (16:24 -0600)]
gallivm/llvmpipe: basic stencil testing works
Most stencil demos look OK (modulo some unrelated rendering glitches).
Only single-sided stencil test works at this point.
There are probably some bugs to be found...
Brian Paul [Wed, 17 Mar 2010 21:09:35 +0000 (15:09 -0600)]
llvmpipe: remove incorrect depth test check
Brian Paul [Wed, 17 Mar 2010 21:07:45 +0000 (15:07 -0600)]
gallivm: added lp_build_andc()
Brian Paul [Wed, 17 Mar 2010 14:34:23 +0000 (08:34 -0600)]
llvmpipe: silence some pointer/casting warnings
Brian Paul [Wed, 17 Mar 2010 00:26:51 +0000 (18:26 -0600)]
gallivm/llvmpipe: more asst changes for stencil testing
Brian Paul [Tue, 16 Mar 2010 20:32:18 +0000 (14:32 -0600)]
gallivm/llmvpipe: pass stencil refs state into z/stencil build code
Brian Paul [Tue, 16 Mar 2010 20:11:43 +0000 (14:11 -0600)]
llvmpipe: use new LP_JIT_CTX_ enums for jit context field positions
Use the new enum values rather than integers in a few places.
Brian Paul [Tue, 16 Mar 2010 20:00:40 +0000 (14:00 -0600)]
llvmpipe: added stencil ref values to jit context state
Brian Paul [Tue, 16 Mar 2010 19:50:19 +0000 (13:50 -0600)]
llvmpipe: break lines
Eric Anholt [Wed, 17 Mar 2010 16:09:54 +0000 (09:09 -0700)]
intel: Replace mt->pitch with mt->region->pitch.
The pitch is not really an inherent part of the miptree, since it's
not part of any of the layout calculations, and it's dictated by the
libdrm-allocated region pitch now.
Eric Anholt [Wed, 17 Mar 2010 16:27:48 +0000 (09:27 -0700)]
intel: Return false like other blit failure paths if out of aperture.
The primary consumer of this (miptree relayout) already has this code
for handling failure, and the other paths want to know if failure
actually occurs and do something appropriate, which may not include
memcpy.
Eric Anholt [Wed, 17 Mar 2010 17:10:37 +0000 (10:10 -0700)]
intel: Respect src pitch in _mesa_copy_rect().
If a non-zero src_y was used, this would break piglit
depth-level-clamp.
Eric Anholt [Tue, 16 Mar 2010 23:20:03 +0000 (16:20 -0700)]
intel: Rely on allocated region pitch for the miptree pitch.
Bug #26966: 945 miptree pitch disagreement with libdrm.
Eric Anholt [Wed, 17 Mar 2010 16:26:37 +0000 (09:26 -0700)]
intel: Assert that the linear blits succeed.
We don't have any fallback code here, and we want to avoid this path
if failure would happen, so just assert.
Eric Anholt [Tue, 16 Mar 2010 23:11:05 +0000 (16:11 -0700)]
intel: Remove level_offset now that it's unused.
This is the last pitch-dependent part of miptree setup.
Eric Anholt [Tue, 16 Mar 2010 23:05:53 +0000 (16:05 -0700)]
intel: Remove extra tiling setting after allocating a tiled region.
Eric Anholt [Tue, 16 Mar 2010 21:02:22 +0000 (14:02 -0700)]
intel: Rename the z24_x8 depth spans to z24_s8 since they do stencil too.
Brian Paul [Wed, 17 Mar 2010 16:53:55 +0000 (10:53 -0600)]
llvmpipe: remove -m32 flag from linux-llvm config
Brian Paul [Wed, 17 Mar 2010 16:31:57 +0000 (10:31 -0600)]
st/mesa: plug in default for pipe_context::surface_copy() if needed
This lets us avoid conditionals and duplicated code in several places.
Brian Paul [Wed, 17 Mar 2010 16:17:04 +0000 (10:17 -0600)]
progs/samples: improve copy.c demo
If the test image was larger than the window, nothing was drawn because
of invalid raster position. Use glWindowPos instead of glRasterPos.
Also, use integer src/dst coordinates to avoid grabbing black pixels
outside of the src image region.
Brian Paul [Wed, 17 Mar 2010 16:13:51 +0000 (10:13 -0600)]
Merge branch '7.8'
Conflicts:
src/mesa/state_tracker/st_cb_drawpixels.c