Roland Scheidegger [Thu, 21 Jan 2010 18:56:29 +0000 (19:56 +0100)]
gallium: adapt util code to blend changes
Roland Scheidegger [Thu, 21 Jan 2010 18:45:43 +0000 (19:45 +0100)]
gallium: new PIPE_CAP bits for the independent blend functionality
Roland Scheidegger [Wed, 20 Jan 2010 17:27:53 +0000 (18:27 +0100)]
llvmpipe: adapt to per-rendertarget blend changes
Roland Scheidegger [Wed, 20 Jan 2010 17:26:49 +0000 (18:26 +0100)]
gallium: prepare for per-rendertarget blend enables, writemasks, blend funcs
GL 3.0 (EXT_draw_buffers2) and other APIs allow independent blend enables and
write masks per render target, ARB_draw_buffers_blend (and other APIs) also
allow independent blend functions. Things like dithering, logic ops however
are not extended to be per rendertarget, that might be conceptually possible
however it doesn't look like any API wants to expose this.
Alex Deucher [Wed, 20 Jan 2010 14:06:49 +0000 (09:06 -0500)]
r200: fix typo in
76cf2618327a7f008dcfd0d91d64d6d9e01f9a9c
noticed by Maciej on IRC.
Chia-I Wu [Wed, 20 Jan 2010 05:55:57 +0000 (13:55 +0800)]
st/egl_g3d: Add support for driver probe.
Hook the drv->Probe callback to allow the drivers to probe displays.
The loading of state trackers is delayed to avoid unnecessary loading.
Chia-I Wu [Wed, 20 Jan 2010 07:52:50 +0000 (15:52 +0800)]
st/egl_g3d: Add support for probe to native displays.
The functions can be used to check if a display is supported without
creating a struct native_display. It uses a probe object that can be
shared across drivers.
Chia-I Wu [Wed, 20 Jan 2010 06:35:50 +0000 (14:35 +0800)]
egl: Add a simple cache for driver probe.
In current design, multiple drivers will probe the same display and the
best driver is determined. The cache can be used by the drivers to
store and share the probed data.
Chia-I Wu [Tue, 19 Jan 2010 10:39:59 +0000 (18:39 +0800)]
egl: Improve driver matching.
Make drv->Probe return a score so that the matching can be done by
finding the driver with the highest score.
Chia-I Wu [Wed, 20 Jan 2010 09:42:33 +0000 (17:42 +0800)]
egl: Rename _EGL_PLATFORM_X to _EGL_PLATFORM_POSIX.
The macro is used to determine if dlfcn.h or dirent.h is available.
POSIX is a better name than X in such case.
Chia-I Wu [Tue, 19 Jan 2010 09:39:34 +0000 (17:39 +0800)]
egl: Remove unused driver and display functions.
Remove _eglPreloadDriver, _eglLookupDriver, and _eglSplitDisplayString.
Chia-I Wu [Tue, 19 Jan 2010 10:29:21 +0000 (18:29 +0800)]
egl: Use _eglPreloadDrivers.
Replace the use of _eglPreloadDriver by _eglPreloadDrivers. The latter
supports EGL_DISPLAY which have a better chance to "just work".
Chia-I Wu [Tue, 19 Jan 2010 10:13:50 +0000 (18:13 +0800)]
egl: Add _eglPreloadDrivers.
It can be used to load the user driver specified by EGL_DRIVER, or a set
of drivers specified by EGL_DISPLAY, or the default driver, and in that
order.
Chia-I Wu [Wed, 20 Jan 2010 05:24:42 +0000 (13:24 +0800)]
st/egl_g3d: Do not reuse the pipe transfer in ximage.
A pipe transfer is supposed to be temporary. It should be created
before X*PutImage and destroyed afterwards.
Alan Coopersmith [Wed, 20 Jan 2010 02:13:14 +0000 (18:13 -0800)]
mklib: Fix static library generation/installation on Solaris
Change ar flag from -v (-verbose) to -c (silence console output)
so that it stops causing make_ar_static_lib() to return a bunch
of output other than the resulting library file.
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Alan Coopersmith [Mon, 5 Oct 2009 19:56:03 +0000 (12:56 -0700)]
Remove hardcoded -Wall from Radeon DRI makefiles
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
Corbin Simpson [Wed, 20 Jan 2010 02:09:28 +0000 (18:09 -0800)]
r300g: Move GB_AA_CONFIG to its eventual new home.
Corbin Simpson [Wed, 20 Jan 2010 01:56:12 +0000 (17:56 -0800)]
r300g: Make invariant state into an atom.
Chia-I Wu [Wed, 20 Jan 2010 02:02:15 +0000 (10:02 +0800)]
Merge remote branch 'origin/opengl-es-v2'
Brian Paul [Wed, 20 Jan 2010 01:00:26 +0000 (18:00 -0700)]
util/blit: document params to util_blit_pixels_writemask()
Brian Paul [Wed, 20 Jan 2010 00:59:50 +0000 (17:59 -0700)]
mesa: added comment about future FBO formats
Marek Olšák [Wed, 6 Jan 2010 13:27:50 +0000 (14:27 +0100)]
st/mesa: enable EXT_framebuffer_multisample
Signed-off-by: Brian Paul <brianp@vmware.com>
Alex Deucher [Wed, 20 Jan 2010 00:13:26 +0000 (19:13 -0500)]
r100/r200: fix Y coord flipping in accelerated blits
Alex Deucher [Tue, 19 Jan 2010 23:52:19 +0000 (18:52 -0500)]
r100/r200: fix dst pitch in blit code
Alex Deucher [Tue, 19 Jan 2010 23:48:36 +0000 (18:48 -0500)]
r200: add missing symlink to radeon_tex_copy.c
Maciej Cencora [Tue, 19 Jan 2010 23:09:11 +0000 (00:09 +0100)]
r100/r200: align to pitch updates in blit interface
Maciej Cencora [Tue, 19 Jan 2010 22:20:44 +0000 (23:20 +0100)]
r200: use common glCopyTex(Sub)Image code
Maciej Cencora [Tue, 19 Jan 2010 22:12:12 +0000 (23:12 +0100)]
r100: use common glCopyTex(Sub)Image code
Maciej Cencora [Tue, 19 Jan 2010 22:34:56 +0000 (23:34 +0100)]
radeon/r300/r600: share common glCopyTex(Sub)Image code
Maciej Cencora [Mon, 18 Jan 2010 22:00:36 +0000 (23:00 +0100)]
r600: align to r300 changes in the blit code
Pitch here means aligned width, not aligned width * bpp.
Maciej Cencora [Mon, 18 Jan 2010 21:52:40 +0000 (22:52 +0100)]
r300/r600: move some bo offsets checking to blit code
In preperation for texcopy code sharing.
Maciej Cencora [Mon, 18 Jan 2010 21:50:06 +0000 (22:50 +0100)]
r600: prepare for some code sharing
Maciej Cencora [Sat, 16 Jan 2010 21:44:30 +0000 (22:44 +0100)]
r300: check if blitting for given format is supported earlier
Prevents failing assertions at later stage.
Maciej Cencora [Sat, 16 Jan 2010 14:21:52 +0000 (15:21 +0100)]
r300: use nearest texture filtering for accelerated blits
Maciej Cencora [Sat, 16 Jan 2010 13:53:07 +0000 (14:53 +0100)]
r300: fix Y coord flipping in accelerated blits
Maciej Cencora [Sun, 10 Jan 2010 13:17:20 +0000 (14:17 +0100)]
radeon: use mesa provided _mesa_tex_target_to_face function
Maciej Cencora [Sun, 10 Jan 2010 12:59:39 +0000 (13:59 +0100)]
r300: prepare for texcopy code sharing
Maciej Cencora [Sun, 10 Jan 2010 13:04:16 +0000 (14:04 +0100)]
radeon: add blit function to vtbl
Eric Anholt [Fri, 20 Nov 2009 02:10:57 +0000 (03:10 +0100)]
intel: Remove dead note_fence vtbl hook.
Eric Anholt [Tue, 24 Nov 2009 03:09:48 +0000 (19:09 -0800)]
i965: Improve the hashing of brw_state_cache keys to include the cache_id.
No measurable difference on cairoperf.
Eric Anholt [Sun, 22 Nov 2009 03:30:01 +0000 (04:30 +0100)]
i965: Remove obsolete comment about the state atoms.
Eric Anholt [Mon, 18 Jan 2010 23:12:40 +0000 (15:12 -0800)]
i965: Upload as many VS constants as possible through the push constants.
The pull constants require sending out to an overworked shared unit
and waiting for a response, while push constants are nicely loaded in
for us at thread dispatch time. By putting things we access in every
VS invocation there, ETQW performance improved by 2.5% +/- 1.6% (n=6).
Eric Anholt [Mon, 18 Jan 2010 21:27:47 +0000 (13:27 -0800)]
i965: Allow for variable-sized auxdata in the state cache.
Everything has been constant-sized until now, but constant buffer
handling changes will make us want some additional variable sized
array.
Eric Anholt [Tue, 19 Jan 2010 18:55:21 +0000 (10:55 -0800)]
intel: Use the new DRI2 flush invalidate entrypoint to signal frame done.
Previously for frame throttling we would wait on the first batch after
a swap before emitting another swap, because we had no hook after a
swap was emitted. This meant that if an app managed to squeeze
everything it for a frame had into one batch, it would lock-step with
the GPU. With the swapbuffers changes, we now have the entrypoint we
want.
This takes the WoW intro screen from 25% GPU idle and visibly jerky to
4-5% GPU idle and rather smooth. Other apps such as OpenArena have
run into this problem as well.
Alan Coopersmith [Sun, 17 Jan 2010 04:21:35 +0000 (20:21 -0800)]
Sun compilers now support some gcc __attribute__ values
Sun cc 5.9 and later (__SUNPRO_C >= 0x590) support __attribute__ calls
for aligned, always_inline, noinline, pure, const, and malloc.
This commit includes updates to files that were regenerated by gl_XML.py
after adding the __SUNPRO_C checks to it
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
Alan Coopersmith [Sun, 17 Jan 2010 02:34:23 +0000 (18:34 -0800)]
Check if gcc supports -fvisibility=hidden before adding to CFLAGS
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Brian Paul [Tue, 19 Jan 2010 18:14:00 +0000 (11:14 -0700)]
softpipe: remove redundant assignments
We initialized width/height/depth from pt->width0/height0/depth0 above.
Alex Deucher [Tue, 19 Jan 2010 06:47:04 +0000 (01:47 -0500)]
Alex Deucher [Tue, 19 Jan 2010 06:42:41 +0000 (01:42 -0500)]
r100/r200/r600: check if blitting for given format is supported earlier
based on Maciej's r300 patch.
Alex Deucher [Tue, 19 Jan 2010 06:26:35 +0000 (01:26 -0500)]
r100/r200: add blit support for ARGB4444
Alex Deucher [Tue, 19 Jan 2010 02:58:02 +0000 (21:58 -0500)]
r60: Add relocs for CB_TILE/FRAG
as per
46dc6fd3ed5ef96cda53641a97bc68c3bc104a9f
Corbin Simpson [Tue, 19 Jan 2010 02:05:55 +0000 (18:05 -0800)]
docs: Clarify PIPE_TEXTURE_USAGE_DYNAMIC.
Corbin Simpson [Tue, 19 Jan 2010 01:37:25 +0000 (17:37 -0800)]
docs: Use proper XOR symbol.
Alex Deucher [Tue, 19 Jan 2010 01:56:11 +0000 (20:56 -0500)]
r100: add blit support
Only enabled with KMS.
Alex Deucher [Tue, 19 Jan 2010 01:51:15 +0000 (20:51 -0500)]
r200: add blit support
Only enabled with KMS.
Corbin Simpson [Tue, 19 Jan 2010 01:31:56 +0000 (17:31 -0800)]
docs: Spacing in TGSI formulae.
Some of those still look atrocious. :T
Corbin Simpson [Tue, 19 Jan 2010 01:17:09 +0000 (17:17 -0800)]
docs: Grammar and refs in Rasterizer.
Corbin Simpson [Tue, 19 Jan 2010 01:12:13 +0000 (17:12 -0800)]
docs: Cleanup Rasterizer a bit.
I'm getting better at this, I think.
Corbin Simpson [Tue, 19 Jan 2010 00:40:39 +0000 (16:40 -0800)]
docs: Fix terms and refs.
I fail at Sphinx-style ReST.
Corbin Simpson [Mon, 18 Jan 2010 23:24:51 +0000 (15:24 -0800)]
docs: Slowly keep fleshing out more info.
Corbin Simpson [Mon, 18 Jan 2010 23:09:30 +0000 (15:09 -0800)]
docs: PIPE_TEXTURE_USAGE info.
From IRC with Jakob.
Eric Anholt [Mon, 11 Jan 2010 17:23:41 +0000 (09:23 -0800)]
i965: Clean up constbuf handling by splitting reladdr/non-reladdr loads.
The codepaths in the function were almost entirely different.
Eric Anholt [Mon, 11 Jan 2010 16:45:58 +0000 (08:45 -0800)]
i965: Only set up the stack register if it's going to get used.
Eric Anholt [Sat, 9 Jan 2010 10:03:13 +0000 (02:03 -0800)]
i965: Fix loads of non-relative-addr constants after a reladdr load.
Fixes piglit vp-arl-constant-array-huge-overwritten.
Christoph Bumiller [Mon, 18 Jan 2010 20:37:33 +0000 (21:37 +0100)]
nv50: fix constant vtxattr methods
This function was untested, sorry.
Christoph Bumiller [Mon, 18 Jan 2010 18:52:34 +0000 (19:52 +0100)]
nv50: make instanced drawing work with edge flags
And fix some obvious mistakes introduced in the
previous instancing commit.
Christoph Bumiller [Mon, 18 Jan 2010 15:22:59 +0000 (16:22 +0100)]
nv50: cannot exit shaders on a control flow instruction
Fixes lockup triggered by this ingenious shader:
1: CALL :3
2: END
3: BGNSUB ...
Marcin Slusarz [Mon, 18 Jan 2010 15:12:38 +0000 (16:12 +0100)]
nv50: fix nv50_program->immd memory leak
Michal Krol [Mon, 18 Jan 2010 18:07:44 +0000 (19:07 +0100)]
tgsi: Fix behaviour of dimension index.
The dimension index always addresses the second-dimension axis.
Michal Krol [Mon, 18 Jan 2010 13:01:40 +0000 (14:01 +0100)]
tgsi: Allow TEMPORARY registers as indirect address into source operands.
Michal Krol [Mon, 18 Jan 2010 11:11:05 +0000 (12:11 +0100)]
tgsi: Add ureg_DECL_immediate_block_uint().
Allows declaring a contiguous block of immediates. Useful for
relative indexing.
Brian Paul [Mon, 18 Jan 2010 18:06:55 +0000 (11:06 -0700)]
glsl: remove __inline directive
It makes no difference with gcc -O3, for example.
Brian Paul [Mon, 18 Jan 2010 17:43:33 +0000 (10:43 -0700)]
st/mesa: updated comments and whitespace
Marcin Slusarz [Sun, 17 Jan 2010 22:47:53 +0000 (14:47 -0800)]
st/mesa: fix memory leak in st_translate_mesa_program
Signed-off-by: Brian Paul <brianp@vmware.com>
Alex Deucher [Mon, 18 Jan 2010 16:21:19 +0000 (11:21 -0500)]
r600: fix some warnings
Jerome Glisse [Mon, 18 Jan 2010 14:32:24 +0000 (15:32 +0100)]
r600: Update default state size to account for the new relocation
the new relocation for CB_COLOR0_FRAG & CB_COLOR0_TILE add 4
dwords to the default command stream. Increase the prediction
default size to take this into account
Jerome Glisse [Mon, 18 Jan 2010 10:05:50 +0000 (11:05 +0100)]
r6xx/r7xx: emit relocation for FRAG & TILE buffer
FRAG & TILE buffer are unused but still they need
to be associated with a valid relocation so that
userspace can't try to abuse them to overwritte
GART and then try to write anywhere in system
memory.
Andre Maasikas [Mon, 18 Jan 2010 10:42:10 +0000 (12:42 +0200)]
r600: fix shadow_ambient shader
rtype enums are different, DST_REG_OUTPUT got SRC_REG_CONSTANT in some
shaders and produced invalid output/hang
as TEX output is temp register always set out src to SRC_REG_TEMPORARY
Corbin Simpson [Mon, 18 Jan 2010 10:30:49 +0000 (02:30 -0800)]
radeong: Don't allocate HW BOs for constantbufs.
We have broken 1000 FPS. Hell yes.
Heavily inspired by Marek's patch, but using pipebuffer instead of
a roll-your-own malloc.
Marek Olšák [Sun, 17 Jan 2010 18:21:03 +0000 (19:21 +0100)]
r300g: fix polygon offset
As per classic r300.
Not sure why glean/polygonOffset still fails, but we do emit the same register
values as in classic.
Marek Olšák [Sun, 17 Jan 2010 13:54:35 +0000 (14:54 +0100)]
r300g: fix vertex data swizzle
Marek Olšák [Sat, 16 Jan 2010 00:45:10 +0000 (01:45 +0100)]
r300g: do not align compressed textures to a tile size
Chia-I Wu [Mon, 18 Jan 2010 09:12:50 +0000 (17:12 +0800)]
st/egl_g3d: Clean up for x11_drawable_get_depth.
Fix a wrong comment and remove an unnecessary #include.
Corbin Simpson [Mon, 18 Jan 2010 08:37:21 +0000 (00:37 -0800)]
dri: Add an MSAA-enabled factor to DRI configs.
4 samples should be enough for GLUT to be satisfied, and I think most
of the HW that does any MSAA, can do it.
Note that any pipe that doesn't multisample can just ignore the
corresponding flag in pipe_rasterizer_state.
Corbin Simpson [Mon, 18 Jan 2010 08:36:04 +0000 (00:36 -0800)]
dri: Properly calculate number of modes for MSAA.
Split from the next patch for bisection purposes only.
Corbin Simpson [Mon, 18 Jan 2010 08:35:11 +0000 (00:35 -0800)]
radeong: Check DRM version, and report stats.
Corbin Simpson [Sun, 17 Jan 2010 23:57:26 +0000 (15:57 -0800)]
radeong: Use vram_size instead of vram_visible.
The kernel will decide on its own what to give us.
Chia-I Wu [Mon, 18 Jan 2010 08:30:07 +0000 (16:30 +0800)]
progs/egl: Pass EGLDisplay to eglCopyBuffers.
X Display was wrongly passed to eglCopyBuffers.
Chia-I Wu [Mon, 18 Jan 2010 07:28:13 +0000 (15:28 +0800)]
st/egl_g3d: Add support for eglCopyBuffers.
It uses a slow path to copy the render buffer of the surface to the
target pixmap. We might be able to create a pipe context for
EGLDisplay's use and use a blitter context for the purpose. It is left
for a future consideration.
Chia-I Wu [Mon, 18 Jan 2010 07:49:20 +0000 (15:49 +0800)]
st/egl_g3d: Add is_pixmap_supported to native display interface.
The function may be used to support, for example,
EGL_MATCH_NATIVE_PIXMAP and EGL_KHR_image_pixmap.
Chia-I Wu [Mon, 18 Jan 2010 04:11:15 +0000 (12:11 +0800)]
st/egl_g3d: Update validate to use an attachment mask.
A validate call asks for the buffers of a native surface. Using a mask
to represent the interested buffers is more intuitive. It also rules
out corner cases such as a single attachment being listed multiple
times.
Chia-I Wu [Mon, 18 Jan 2010 04:05:25 +0000 (12:05 +0800)]
st/vega: Fix window resizing with egl_g3d.
egl_g3d calls st_set_framebuffer_surface on window resize. It updates
the renderbuffer's geometry and makes st_resize_framebuffer a no-op.
This commit improves the no-op check a little bit. It can do better
after gallium-fb-dimensions is merged.
Chia-I Wu [Fri, 15 Jan 2010 09:52:10 +0000 (17:52 +0800)]
st/vega: Call screen->update_buffer instead of winsys->update_buffer.
This removes the last reference to winsys and is per mesa/st.
Chia-I Wu [Fri, 15 Jan 2010 09:59:16 +0000 (17:59 +0800)]
tgsi: Add missing semantic name in text parser.
This time, INSTANCEID is missing...
Jakob Bornecrantz [Mon, 18 Jan 2010 00:07:24 +0000 (00:07 +0000)]
cso: Add set_vertex_samplers function
Jakob Bornecrantz [Mon, 18 Jan 2010 00:04:48 +0000 (00:04 +0000)]
softpipe: Fix leak in vbuf draw module
Christoph Bumiller [Sun, 17 Jan 2010 16:37:55 +0000 (17:37 +0100)]
nv50: implement instanced drawing
Too bad we don't have hw array divisors or a method for
setting startInstance.
Jakob Bornecrantz [Sun, 17 Jan 2010 14:18:26 +0000 (14:18 +0000)]
softpipe: Move st/python's malloc winsys to softpipe
Users of softpipe can still specify thier own winsys
but now there is a default one also that uses malloc.
This allows the malloc winsys to be shared with other
users of softpipe.
Jakob Bornecrantz [Sun, 17 Jan 2010 16:24:53 +0000 (16:24 +0000)]
st/xlib: Make glXGetProcAddressARB visible
Jakob Bornecrantz [Sun, 17 Jan 2010 14:40:49 +0000 (14:40 +0000)]
gallium: Support swig "compiler" in p_compiler.h