Marek Olšák [Sat, 13 Mar 2010 16:38:43 +0000 (17:38 +0100)]
r300g: add high quality anisotropic filtering for R5xx (disabled by default)
Oh look, an undocumented feature. It's a nice tool for benchmarking
texturing.
Marek Olšák [Sat, 13 Mar 2010 15:24:50 +0000 (16:24 +0100)]
r300g: fix anisotropic filtering, fix macrotiling
Two bug fixes at the same time. :)
Marek Olšák [Sat, 13 Mar 2010 05:07:33 +0000 (06:07 +0100)]
r300g: refrain from using immediate mode if it causes slowdown
E.g. when mapping buffers could flush CS or cause waiting
for a busy buffer.
The side effect of this is it also fixes progs/demos/arbocclude however
a separate fix should be proposed to address this issue in other cases
it might occur.
Marek Olšák [Sat, 13 Mar 2010 03:43:46 +0000 (04:43 +0100)]
r300g: fix up function names
Maciej Cencora [Sat, 13 Mar 2010 16:33:48 +0000 (17:33 +0100)]
radeon: add some debuging info for glCopyTex(Sub)Image
Maciej Cencora [Sat, 13 Mar 2010 16:28:33 +0000 (17:28 +0100)]
r300: blits for small dst pitch work just fine
Maciej Cencora [Sat, 13 Mar 2010 16:27:51 +0000 (17:27 +0100)]
radeon: fix gl format to mesa format mapping and add GL_BGRA formats
Maciej Cencora [Sat, 13 Mar 2010 15:46:19 +0000 (16:46 +0100)]
radeon: fix glCopyTex(Sub)Image
Fallback to swrast for software renderbuffers
José Fonseca [Sat, 13 Mar 2010 16:13:26 +0000 (16:13 +0000)]
llvmpipe: Ensure the context is flushed before modifying textures.
José Fonseca [Sat, 13 Mar 2010 16:04:06 +0000 (16:04 +0000)]
llvmpipe: Don't use texture transfer internally.
Now that transfers are context objects their sideeffects must happen in
order when used by the state tracker, but that synchronization must be
bypassed when used inside the driver, or it would cause infinite
recursion.
Keith Whitwell [Sat, 13 Mar 2010 15:06:35 +0000 (15:06 +0000)]
Merge commit 'origin/master' into gallium-sampler-view
Conflicts:
src/gallium/auxiliary/util/u_tile.c
src/gallium/auxiliary/util/u_tile.h
src/gallium/drivers/identity/id_context.c
src/gallium/drivers/llvmpipe/lp_setup.c
src/gallium/drivers/llvmpipe/lp_setup.h
src/gallium/drivers/softpipe/sp_tex_tile_cache.c
src/gallium/include/pipe/p_context.h
src/mesa/state_tracker/st_cb_bitmap.c
src/mesa/state_tracker/st_cb_drawpixels.c
Chia-I Wu [Sat, 13 Mar 2010 12:30:03 +0000 (20:30 +0800)]
st/mesa: Validate the state in st_readpixels.
The front renderbuffer of a framebuffer is usually added as needed when
glReadBuffer(GL_FRONT) is called. When the call is followed by
glReadPixels, we should validate the state before reading from the
renderbuffer.
José Fonseca [Sat, 13 Mar 2010 11:22:39 +0000 (11:22 +0000)]
llvmpipe: Obey rasterization rules.
Replicates softpipe.
José Fonseca [Sat, 13 Mar 2010 10:45:52 +0000 (10:45 +0000)]
llvmpipe: setup_context -> lp_setup_context
Otherwise IDEs and debuggers have trouble distinguishing from softpipe's
setup_context.
Xavier Chantry [Sat, 13 Mar 2010 10:33:27 +0000 (11:33 +0100)]
nv50: fixup after gallium-context-transfers merge
José Fonseca [Fri, 12 Mar 2010 13:12:15 +0000 (13:12 +0000)]
python: Temporarily disable python state tracker until transfers are done by contexts
It requires changes not ony to the state tracker but to the python
scripts too.
Chia-I Wu [Sat, 13 Mar 2010 09:40:24 +0000 (17:40 +0800)]
st/glx: Fix framebuffer validation.
When xmesa_st_framebuffer_validate was called twice with different sets
of attachments, the second call was ignored. Add a texture_mask to
remember which textures have been requested to make sure the missing
ones get created.
Chia-I Wu [Sat, 13 Mar 2010 09:39:14 +0000 (17:39 +0800)]
st/glx: Correctly set buffer_mask of a visual.
Stupid typos again..
Chia-I Wu [Sat, 13 Mar 2010 09:00:24 +0000 (17:00 +0800)]
st/mesa: Set revalidate in st_framebuffer_update_attachments.
There are two conditions that a validation is required. One is when the
the framebuffer becomes invalid. The other is when we request for
textures that we did not request before.
Chia-I Wu [Sat, 13 Mar 2010 07:57:15 +0000 (15:57 +0800)]
st/glx: Make xmesa_create_st_api a callback of xm_driver.
Instead of guessing the API in st/glx, let the target decide how to
create st_api.
Chia-I Wu [Sat, 13 Mar 2010 06:57:32 +0000 (14:57 +0800)]
st/egl: Fix eglCopyBuffers.
Use a (real) pipe context to copy between pipe surfaces. Fix a NULL
dereference of the temporary native surface created for copying.
Chia-I Wu [Fri, 12 Mar 2010 16:52:47 +0000 (00:52 +0800)]
st/glx: Fix leaks in xmesa_st_framebuffer.
The textures and surface of a framebuffer should be unreferenced when
the framebuffer is destroyed.
Chia-I Wu [Fri, 12 Mar 2010 16:48:23 +0000 (00:48 +0800)]
st/egl: Cache the pipe surface used in flush_frontbuffer.
It is very likely that the same surface will be flushed again and again.
Caching the surface should reduce the overhead of surface creation.
Alan Coopersmith [Sat, 13 Mar 2010 03:03:41 +0000 (19:03 -0800)]
mklib: Fix amd64 builds on Solaris when using Sun compilers
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Corbin Simpson [Sat, 13 Mar 2010 02:13:18 +0000 (18:13 -0800)]
r300g: Forcibly sanitize max index.
Not perfect, but the kernel should shut up now.
Corbin Simpson [Sat, 13 Mar 2010 01:58:59 +0000 (17:58 -0800)]
Revert "st/mesa: Always recalculate invalid index bounds."
This reverts commit
50876ddaaff72a324ac45e255985e0f84e108594.
Per ML discussion.
Brian Paul [Fri, 12 Mar 2010 23:54:55 +0000 (16:54 -0700)]
gallivm: cube map sampling works now
Brian Paul [Fri, 12 Mar 2010 23:53:51 +0000 (16:53 -0700)]
gallivm: fix bugs in nested if/then/else codegen
Quite a bit a hair pulling was involved...
Brian Paul [Fri, 12 Mar 2010 21:24:03 +0000 (14:24 -0700)]
gallivm: support non-vector float in lp_build_sgn()
Eric Anholt [Fri, 12 Mar 2010 23:10:22 +0000 (15:10 -0800)]
i965: Clarify the roles of emit_pixel_xy(), emit_delta_xy(), emit_wpos_xy().
Eric Anholt [Thu, 11 Mar 2010 02:48:23 +0000 (18:48 -0800)]
i965: Clarify that DELTAXY always occurs for both X and Y.
Eric Anholt [Thu, 11 Mar 2010 01:38:33 +0000 (17:38 -0800)]
i965: Do FS SLT, SGT, and friends using CMP, SEL instead of CMP, MOV, MOV.
Eric Anholt [Thu, 11 Mar 2010 01:35:02 +0000 (17:35 -0800)]
i965: Do VS SGT, SLT, and friends using CMP, SEL instead of CMP, MOV, MOV.
Eric Anholt [Thu, 11 Mar 2010 01:16:39 +0000 (17:16 -0800)]
i965: Fix up VS DP4 sequences to avoid dependency control.
This is recommended by the B-Spec. I wasn't able to measure any
difference in ETQW.
Eric Anholt [Wed, 10 Mar 2010 23:44:32 +0000 (15:44 -0800)]
i965: When doing a swizzled kill pixel, don't do redundant channel compares.
This was obvious when looking at the compiled output of ETQW's
shaders.
Eric Anholt [Wed, 10 Mar 2010 23:32:05 +0000 (15:32 -0800)]
i965: Use the SEL instruction to implement MIN and MAX.
Saves an instruction over doing conditional moves.
Michel Dänzer [Fri, 12 Mar 2010 18:52:24 +0000 (19:52 +0100)]
svga: Fix up for context transfers.
Michel Dänzer [Fri, 12 Mar 2010 18:52:24 +0000 (19:52 +0100)]
st/xorg: Remove flushes no longer necessary thanks to context transfers.
Alan Coopersmith [Fri, 12 Mar 2010 18:27:03 +0000 (10:27 -0800)]
glx/single2.c: Don't call __builtin_expect on non-gnu compilers
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Michel Dänzer [Fri, 12 Mar 2010 18:00:47 +0000 (19:00 +0100)]
Merge branch '7.8'
Michel Dänzer [Fri, 12 Mar 2010 17:54:23 +0000 (18:54 +0100)]
vmwgfx/dri: Fix SCons build.
Michel Dänzer [Fri, 12 Mar 2010 17:24:34 +0000 (18:24 +0100)]
st/dri: Always try to set up R5G6B5 configs.
Allows compiz to work in depth 16.
The DRI2 getBuffersWithFormat hook is only required for 16/32 bit depth
buffers, for colour buffers the only requirement is that the format matches
the drawable depth, which we can't check here.
(cherry picked from commit
c50477c255a34444720fb944c54373462ef39fb9)
Alex Deucher [Fri, 12 Mar 2010 16:16:50 +0000 (11:16 -0500)]
r100/r200/r300/r300: only enable accelerated pixel ops with kms
fixes fdo bug 27043
Luc Verhaegen [Fri, 12 Mar 2010 07:35:22 +0000 (08:35 +0100)]
dri/r700: include shader/programopt.h instead of programopt.c.
Signed-off-by: Brian Paul <brianp@vmware.com>
Jeff Smith [Fri, 12 Mar 2010 02:19:49 +0000 (20:19 -0600)]
Add programs to .gitignore in redbook
Signed-off-by: Jeff Smith <whydoubt@yahoo.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
Jeff Smith [Fri, 2 Mar 2007 06:14:48 +0000 (00:14 -0600)]
Add programs to .gitignore in xdemos
Signed-off-by: Jeff Smith <whydoubt@yahoo.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
Jeff Smith [Tue, 9 Mar 2010 18:40:44 +0000 (12:40 -0600)]
Add -L$(libdir) for xdemos and egl so that the right libX11 is found
Signed-off-by: Jeff Smith <whydoubt@yahoo.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
Jeff Smith [Fri, 13 Jun 2008 14:50:43 +0000 (09:50 -0500)]
Grammar and spelling fixes
Signed-off-by: Jeff Smith <whydoubt@yahoo.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
Michal Krol [Fri, 12 Mar 2010 13:43:11 +0000 (14:43 +0100)]
cso: Remove set/save/restore_vertex_sampler_textures().
Michal Krol [Fri, 12 Mar 2010 13:37:36 +0000 (14:37 +0100)]
st/mesa: Associate a sampler view with an st texture object.
Lazily create a sampler view when the texture is being bound
for the first time.
Michal Krol [Fri, 12 Mar 2010 13:36:23 +0000 (14:36 +0100)]
cso: Add entry points for vertex/fragment sampler views.
Keith Whitwell [Fri, 12 Mar 2010 12:13:32 +0000 (12:13 +0000)]
st/xorg: context transfers
Marek Olšák [Tue, 9 Mar 2010 01:55:42 +0000 (01:55 +0000)]
gallium: fix BGRA vertex color swizzles
The mapping for vertex_array_bgra:
(gl -> st -> translate)
GL_RGBA -> PIPE_FORMAT_R8G8B8A8 (RGBA) -> no swizzle (XYZW)
GL_BGRA -> PIPE_FORMAT_A8R8G8B8 (ARGB) -> ZYXW (BGRA again??)
Iẗ́'s pretty clear that PIPE_FORMAT_A8R8G8B8 here is wrong. This commit
fixes the pipe format and removes obvious workarounds in util/translate.
Tested with: softpipe, llvmpipe, r300g.
Signed-off-by: José Fonseca <jfonseca@vmware.com>
Corbin Simpson [Fri, 12 Mar 2010 10:51:40 +0000 (02:51 -0800)]
st/mesa: Always recalculate invalid index bounds.
These should always be sanitized before heading towards the pipe driver,
and if the calling function explicitly marked them as invalid, we need
to regenerate them.
Allows r300g to properly pass a bit more of Wine's d3d9 testing without
dropping stuff on the floor.
Corbin Simpson [Fri, 12 Mar 2010 10:51:10 +0000 (02:51 -0800)]
st/mesa: Update debug infos.
Still commented out, of course.
Corbin Simpson [Fri, 12 Mar 2010 10:47:44 +0000 (02:47 -0800)]
r300g: Properly clamp index limits.
Make the kernel even less likely to barf on us.
Keith Whitwell [Fri, 12 Mar 2010 09:08:40 +0000 (09:08 +0000)]
Merge commit 'origin/gallium-context-transfers-2'
Keith Whitwell [Thu, 11 Mar 2010 14:43:00 +0000 (14:43 +0000)]
mesa: fix linux-dri and autogen builds since sw-api-2 merge
Vinson Lee [Fri, 12 Mar 2010 05:55:44 +0000 (21:55 -0800)]
radeon: Fix memory leaks from early return.
Chia-I Wu [Fri, 12 Mar 2010 05:26:18 +0000 (13:26 +0800)]
st/glx: Add xm_st.c to SConscript.
Vinson Lee [Fri, 12 Mar 2010 04:52:38 +0000 (20:52 -0800)]
llvmpipe: Remove unnecessary header.
Chia-I Wu [Fri, 12 Mar 2010 03:27:50 +0000 (11:27 +0800)]
st/mesa: Check the format before adding depth/stencil buffers.
The format might have depth bits, stencil bits, or both. Add the
renderbuffers as needed.
Chia-I Wu [Fri, 12 Mar 2010 03:20:27 +0000 (11:20 +0800)]
st/glx: Return a better format in choose_depth_stencil_format.
Return a better format instead of an exact format in
choose_depth_stencil_format. Also, prefer formats with stencil bits.
Chia-I Wu [Fri, 12 Mar 2010 02:04:47 +0000 (10:04 +0800)]
st/glx: Fix an infinite recursion in flush_front.
It was a stupid typo by me when I refactored the code.
Chia-I Wu [Wed, 10 Mar 2010 09:22:56 +0000 (17:22 +0800)]
st/glx: Use st_api.h instead of st_public.h.
Chia-I Wu [Thu, 14 Jan 2010 08:05:36 +0000 (16:05 +0800)]
st/egl: Use st_api.h instead of st_public.h.
Switch from st_public.h to st_api.h. The latter has intrinsic multiple
APIs support and allows various EGLImage extensions to be supported.
Chia-I Wu [Sun, 7 Feb 2010 12:17:48 +0000 (20:17 +0800)]
winsys/xlib, st/es: Advertise st_api.h support.
This is done by defining one of st_module_OpenGL_ES1,
st_module_OpenGL_ES2, and st_module_OpenGL.
Chia-I Wu [Sun, 7 Feb 2010 11:20:52 +0000 (19:20 +0800)]
st/mesa: Implement st_api.h.
There is currently no user of this new interface. As the inteface can
coexist with st_public.h, everthing should work as before.
ST_TEXTURE_2D is both defined by st_public.h and st_api.h. Reorder the
headers in st/dri to avoid conflicts.
Chia-I Wu [Thu, 14 Jan 2010 04:19:32 +0000 (12:19 +0800)]
st/vega: Implement st_api.h.
There is currently no user of this new interface. As the inteface can
coexist with st_public.h, everthing should work as before.
Chia-I Wu [Sat, 6 Feb 2010 16:52:02 +0000 (00:52 +0800)]
gallium: Add st_api.h.
This is a new interface to be implemented by st/mesa, st/vesa, and the
window system APIs such as EGL or GLX.
Brian Paul [Thu, 11 Mar 2010 23:26:52 +0000 (16:26 -0700)]
gallivm: checkpoint WIP cubemap code
Brian Paul [Thu, 11 Mar 2010 23:26:12 +0000 (16:26 -0700)]
gallivm: added lp_build_sum_vector()
Brian Paul [Thu, 11 Mar 2010 23:23:36 +0000 (16:23 -0700)]
softpipe: further tighen up sample_cube()
The code can fairly easily be translated to llvm...
Brian Paul [Thu, 11 Mar 2010 22:29:11 +0000 (15:29 -0700)]
softpipe: tighten up the code in sample_cube()
Brian Paul [Thu, 11 Mar 2010 21:51:02 +0000 (14:51 -0700)]
st/mesa: s/BUFFER_FRONT_LEFT/surfIndex/
Brian Paul [Thu, 11 Mar 2010 21:42:26 +0000 (14:42 -0700)]
gallivm: enable 3D texture sampling
Brian Paul [Thu, 11 Mar 2010 21:42:11 +0000 (14:42 -0700)]
progs/demos: added 'f' key to toggle filtering mode in stex3d.c
Brian Paul [Thu, 11 Mar 2010 21:46:06 +0000 (14:46 -0700)]
gallivm/llvmpipe: replace 'int stride' with 'int row_stride[MAX_LEVELS]'
The stride depends on the mipmap level. Rename to row_stride to
distinguish from img_stride for 3D textures.
Fixes incorrect texel addressing in small mipmap levels.
Brian Paul [Thu, 11 Mar 2010 21:03:33 +0000 (14:03 -0700)]
llvmpipe: fix comment typo
Brian Paul [Thu, 11 Mar 2010 20:57:52 +0000 (13:57 -0700)]
gallivm/llvmpipe: include os_llvm.h instead of llvm-c/Core.h
Brian Paul [Thu, 11 Mar 2010 21:00:48 +0000 (14:00 -0700)]
gallium/os: wrapper for llvm-c/Core.h and #define HAVE_LLVM if needed
Brian Paul [Thu, 11 Mar 2010 20:44:39 +0000 (13:44 -0700)]
st/mesa: fix st_set_framebuffer_surface() state validation
Set the _NEW_BUFFERS flag and remove the code which updated the
parent framebuffer size. Normal Mesa state validation will do that.
Fixes issues with Warsow on r300g and possibly other bugs.
Jakob Bornecrantz [Thu, 11 Mar 2010 19:23:15 +0000 (19:23 +0000)]
st/xorg: Fixup configure
Make sure we always test for XEXT version.
Make sure that the user has a recent version of libkms and libdrm installed.
Note that the st/xorg code requires so new versions to work but these are
needed to make a proper vmwgfx_drv.so driver which is the only real user.
Cherry picked from
46cf606cd35d6740b28fd26bd32dbdfdde2c7833
Conflicts:
configure.ac
Alex Deucher [Thu, 11 Mar 2010 18:48:28 +0000 (13:48 -0500)]
r200: support additional blit formats
swizzle in the pixel shader
Brian Paul [Thu, 11 Mar 2010 18:17:15 +0000 (11:17 -0700)]
gallivm: fix some bugs on the 1D texture paths
Roland Scheidegger [Thu, 11 Mar 2010 17:54:14 +0000 (18:54 +0100)]
st/mesa: don't enable extensions which aren't actually supported
don't enable APPLE_client_storage, TDFX_texture_compression_FXT1,
EXT_cull_vertex, NV_vertex_program, NV_vertex_program1_1 -
the latter two might work somewhat with some luck.
Also don't enable ARB_imaging.
Roland Scheidegger [Thu, 11 Mar 2010 17:40:25 +0000 (18:40 +0100)]
cell: adapt to context texture transfers (untested)
Christoph Bumiller [Thu, 11 Mar 2010 16:14:14 +0000 (17:14 +0100)]
nv50: take format from sampler view, not the referenced texture
Christoph Bumiller [Thu, 11 Mar 2010 16:12:10 +0000 (17:12 +0100)]
nv50: put correct value into the TIC MAX_LEVEL field
Christoph Bumiller [Thu, 11 Mar 2010 16:27:12 +0000 (17:27 +0100)]
nv50: fix damage from merging master into sampler-view
Fixed the state array sizes at 3 (instead of PIPE_SHADER_TYPES)
because we'll never have domain and hull shaders on nv50; also
the numbering doesn't correspond to the hw numbering.
Keith Whitwell [Thu, 11 Mar 2010 16:10:25 +0000 (16:10 +0000)]
gallium: remove pipe_context member from pipe_transfer
There was very little use for this beyond permitting the
pipe_context::tex_transfer_destroy() function to omit the pipe_context
argument.
This change adds the pipe_context argument into tex_transfer_destroy()
so that it looks like other pipe_context functions, and removes the
pipe_context pointer from pipe_transfer.
Karl Schultz [Thu, 11 Mar 2010 16:17:05 +0000 (09:17 -0700)]
windows: Add new file to project file.
Brian Paul [Thu, 11 Mar 2010 16:08:58 +0000 (09:08 -0700)]
ARB prog parser: added (float) casts and regenerate files
Brian Paul [Thu, 11 Mar 2010 15:52:03 +0000 (08:52 -0700)]
gallivm: include tgsi_dump.h to silence warning
Brian Paul [Thu, 11 Mar 2010 15:51:44 +0000 (08:51 -0700)]
gallivm: move declarations to silence unused var warnings
Brian Paul [Thu, 11 Mar 2010 15:51:18 +0000 (08:51 -0700)]
gallium/util: use memset() to initialize vars to avoid warnings
Brian Paul [Thu, 11 Mar 2010 15:50:39 +0000 (08:50 -0700)]
svga: use memset() to initialize u to avoid warnings
José Fonseca [Thu, 11 Mar 2010 15:36:51 +0000 (15:36 +0000)]
gallivm: Use bitmasks for scalar masks.
We could use single 1 bit conditions for scalar masks, but a lot of code
expects masks. The compiler easily optimzes away masks
extensions/truncations so consistency is preferable.
We can revisit this when LLVM backends have more support for vector
conditions.
José Fonseca [Thu, 11 Mar 2010 15:33:40 +0000 (15:33 +0000)]
gallivm: Handle scalar types in lp_build_*_type.
Chia-I Wu [Thu, 11 Mar 2010 10:13:18 +0000 (18:13 +0800)]
mesa/es: Validate the state in st_DrawTex.
Without the validation, the function might draw with outdated textures.