Marek Olšák [Mon, 14 Dec 2009 23:26:10 +0000 (00:26 +0100)]
util/blitter: allocate most of the state objects on-demand
Marek Olšák [Mon, 14 Dec 2009 18:14:49 +0000 (19:14 +0100)]
util/blitter: use PIPE_MAX_* limits, and fix a memory leak
Marek Olšák [Mon, 14 Dec 2009 18:05:15 +0000 (19:05 +0100)]
pipe: add PIPE_MAX_TEXTURE_TYPES
Marek Olšák [Thu, 10 Dec 2009 09:25:33 +0000 (10:25 +0100)]
util: add blitter
Marek Olšák [Sat, 12 Dec 2009 22:38:17 +0000 (23:38 +0100)]
util: add a function which converts 2D coordinates to cubemap coordinates
The code was taken over from u_gen_mipmap.
Marek Olšák [Sat, 12 Dec 2009 05:34:29 +0000 (06:34 +0100)]
util: add new fragment shaders to simple_shaders
New shaders:
* Fragment shader which writes depth sampled from a texture
* Fragment shader which copies COLOR[0] to multiple render targets
Additional improvements:
* The fragment 'tex' shaders now take a sampler type (TGSI_TEXTURE_*)
so that they can sample from any type of texture, not only from a 2D one.
José Fonseca [Tue, 15 Dec 2009 14:46:43 +0000 (14:46 +0000)]
llvmpipe: Fix yet another copynpaste typo in lp_build_log2_approx.
Now fslight looks perfect.
José Fonseca [Tue, 15 Dec 2009 14:15:52 +0000 (14:15 +0000)]
llvmpipe: Fix lp_build_polynomial comment.
José Fonseca [Tue, 15 Dec 2009 13:58:53 +0000 (13:58 +0000)]
llvmpipe: Fix typo in lp_build_log constant.
José Fonseca [Tue, 15 Dec 2009 13:40:13 +0000 (13:40 +0000)]
util: Fix unity value for swizzle 1.
It should be 255 for ubytes, and not 1.
Thanks Michal for spotting this.
José Fonseca [Tue, 15 Dec 2009 12:13:43 +0000 (12:13 +0000)]
llvmpipe: Fix bad SI -> FP conversion into lp_build_log2_approx.
It should be a bitcast as the integer value is actually an encoded FP
already.
José Fonseca [Fri, 11 Dec 2009 20:16:15 +0000 (20:16 +0000)]
util: Add dl wrappers.
Borrowed from Mesa, slightly changed for more type safety.
Michal Krol [Tue, 15 Dec 2009 12:54:05 +0000 (13:54 +0100)]
tgsi/text: Don't use strncasecmp(), it breaks windows build.
Also, break out of the for-loop when a matching property is found.
Andre Maasikas [Tue, 15 Dec 2009 10:03:26 +0000 (12:03 +0200)]
r600: use _mesa_insert_instructions to fixup wpos instead of manual ins insert
this keeps branch targets correct.
glsl/trirast works correctly now afaics
Andre Maasikas [Tue, 15 Dec 2009 08:22:34 +0000 (10:22 +0200)]
r600: fix typos for vert-tex
at least i think this is how it was meant to work
Andre Maasikas [Mon, 14 Dec 2009 14:39:19 +0000 (16:39 +0200)]
r600: fix fragment.position
wpos.y seems inferted to what opengl expexts, so calculate correct
value from window dimension and replace references in fragmentprog
with calculated value
Andre Maasikas [Mon, 14 Dec 2009 09:59:41 +0000 (11:59 +0200)]
r600: add support for FRAG_ATTRIB_PNTC
Andre Maasikas [Mon, 14 Dec 2009 08:48:36 +0000 (10:48 +0200)]
r600: add DDX DDY opcodes
Richard Li [Mon, 14 Dec 2009 23:02:05 +0000 (18:02 -0500)]
r600 : add texture support for vertex shader.
Zack Rusin [Mon, 14 Dec 2009 21:34:07 +0000 (16:34 -0500)]
tgsi: add properties and system value register
adds support for properties to all parts of the tgsi framework, plus
introduces a new register which will be used for system generated
values.
Maarten Maathuis [Fri, 4 Dec 2009 21:58:22 +0000 (22:58 +0100)]
nouveau: avoid running out of relocs
- Added flush notify functions for NV30 and NV40.
- Flushing mid frame will call flush notify, which will resubmit all
relocs.
- We don't try to recover from reloc failure yet.
Christoph Bumiller [Mon, 14 Dec 2009 17:39:13 +0000 (18:39 +0100)]
nv50: be more cautious about using reg_instance
Trying to free part of nv50_pc->reg_instances[] for an
nv50_reg representing an indirect constant resulted in
a segmentation fault.
Michal Krol [Mon, 14 Dec 2009 16:23:22 +0000 (17:23 +0100)]
tgsi/ureg: Add ureg_DECL_gs_input().
Allows one to declare GS input registers.
Christoph Bumiller [Mon, 14 Dec 2009 10:10:16 +0000 (11:10 +0100)]
nv50: store immediates as uint32
Sometimes we want non-float immediates, hacking them into
floats isn't nice.
Sorry, this should have already been committed before.
Patrice Mandin [Sun, 13 Dec 2009 19:09:33 +0000 (20:09 +0100)]
nouveau: nv50: Add missing ctor_immd_4u32 function
Maciej Cencora [Sun, 13 Dec 2009 16:22:33 +0000 (17:22 +0100)]
r300: enable accelerated support for glCopyTexImage only under KMS
Maciej Cencora [Sun, 13 Dec 2009 16:18:50 +0000 (17:18 +0100)]
r300: fix regression introduced by
da73c1ed
The 0 value is correct for I8 format.
Maciej Cencora [Sun, 13 Dec 2009 15:12:11 +0000 (16:12 +0100)]
r300: fix glCopyTexSubImage
Need to properly setup colorbuffer when dst pitch != dst width.
Christoph Bumiller [Sun, 13 Dec 2009 13:36:54 +0000 (14:36 +0100)]
nv50: add proper zslice offset in miptree_surface
Christoph Bumiller [Sun, 13 Dec 2009 13:14:41 +0000 (14:14 +0100)]
nv50: use m2mf z pos instead of calculating offset manually
Christoph Bumiller [Sun, 13 Dec 2009 12:44:49 +0000 (13:44 +0100)]
nv50: add craziness for non-constant TXB and TXL
If lod or bias can be non-constant across a quad of fragments,
we need to execute TEX separately for each value.
Don't ask why.
Patrice Mandin [Sat, 12 Dec 2009 22:15:08 +0000 (23:15 +0100)]
Revert "nouveau: nv30: Disable swizzled surface usage if any dimension is 1 (Warsow creates a 1x1 front buffer)"
This reverts commit
ec7844537ecdb0b598447e37bf0b7120acd029f3.
Patrice Mandin [Sat, 12 Dec 2009 21:31:53 +0000 (22:31 +0100)]
nouveau: nv30: Disable swizzled surface usage if any dimension is 1 (Warsow creates a 1x1 front buffer)
Christoph Bumiller [Wed, 9 Dec 2009 23:36:03 +0000 (00:36 +0100)]
nv50: support TXB and TXL
... and don't set the 'live' flag for TEX anymore, we'd
have to know if results affect the inputs for another TEX,
and I'm not going to do that kind of analysis now.
Christoph Bumiller [Wed, 9 Dec 2009 22:45:52 +0000 (23:45 +0100)]
nv50: add S8Z24 depth texture format too
Christoph Bumiller [Thu, 10 Dec 2009 19:54:18 +0000 (20:54 +0100)]
nv50: fix depth comparison func TSC bits
Unfortunately it seems that if depth comparison is
active and we read a 2D texture, i.e. provide only
2 inputs, the second is used for comparison ...
Christoph Bumiller [Mon, 7 Dec 2009 19:40:39 +0000 (20:40 +0100)]
nv50: add src_mask case for IF opcode
Christoph Bumiller [Fri, 4 Dec 2009 22:16:32 +0000 (23:16 +0100)]
nv50: plug memory leak in miptree creation/destruction
Keeping this dynamically allocated for texture arrays.
Since we don't use it to store zslice offsets anymore
it's either 1 or 6 integers (cube) ...
Christoph Bumiller [Wed, 2 Dec 2009 18:59:07 +0000 (19:59 +0100)]
nv50: use copies of tgsi src nv50_regs
So we can use the 'mod' member without concern
if a source is used multiple times in 1 insn.
Christoph Bumiller [Thu, 10 Dec 2009 19:50:02 +0000 (20:50 +0100)]
nv50: support vertex program textures
Maciej Cencora [Fri, 11 Dec 2009 23:50:26 +0000 (00:50 +0100)]
r300: disable blit debugging info
Maciej Cencora [Sun, 22 Nov 2009 14:12:24 +0000 (15:12 +0100)]
r300: emit number of used colorbuffers to pass radeon cs checker
Maciej Cencora [Sat, 21 Nov 2009 20:18:41 +0000 (21:18 +0100)]
r300: setup render target format for r300/r400 cards too
Maciej Cencora [Sat, 21 Nov 2009 17:16:29 +0000 (18:16 +0100)]
r300: finish blit support for r300
Maciej Cencora [Tue, 10 Nov 2009 18:47:04 +0000 (19:47 +0100)]
more blit fixes
Maciej Cencora [Mon, 9 Nov 2009 22:01:35 +0000 (23:01 +0100)]
blit WIP
Maciej Cencora [Sun, 8 Nov 2009 21:01:17 +0000 (22:01 +0100)]
r300: use accelerated emit for CopyTex[Sub]Image functions
Maciej Cencora [Sun, 8 Nov 2009 21:01:12 +0000 (22:01 +0100)]
r300: accelerated blit support
Maciej Cencora [Sun, 8 Nov 2009 20:44:24 +0000 (21:44 +0100)]
r300: fix wrong assertion
Maciej Cencora [Sat, 7 Nov 2009 21:48:23 +0000 (22:48 +0100)]
r300: export translateTexFormat function
Maciej Cencora [Sat, 7 Nov 2009 20:13:55 +0000 (21:13 +0100)]
r300: refactor PVS code and constants emission
Maciej Cencora [Sat, 7 Nov 2009 18:51:44 +0000 (19:51 +0100)]
r300: refactor R500 fragment program emission
Maciej Cencora [Sat, 7 Nov 2009 20:18:08 +0000 (21:18 +0100)]
r300: refactor color buffer setup
Maciej Cencora [Sat, 7 Nov 2009 19:03:57 +0000 (20:03 +0100)]
r300: use _mesa_meta_Clear for buffer clears
Maciej Cencora [Fri, 11 Dec 2009 23:00:34 +0000 (00:00 +0100)]
r300: minor texture code refactoring
Brian Paul [Fri, 11 Dec 2009 23:50:25 +0000 (16:50 -0700)]
gallium: added comment for pipe_reference() return value
Brian Paul [Mon, 16 Nov 2009 19:54:39 +0000 (12:54 -0700)]
mesa: minor reformatting/rewrapping in dd.h
Brian Paul [Mon, 16 Nov 2009 19:50:54 +0000 (12:50 -0700)]
mesa: remove unused ctx->Driver.ActiveTexture() hook
Brian Paul [Mon, 16 Nov 2009 19:43:32 +0000 (12:43 -0700)]
mesa: updated comment
Brian Paul [Fri, 11 Dec 2009 17:11:45 +0000 (10:11 -0700)]
Revert "scons: Pass -fno-strict-aliasing to gcc."
This reverts commit
a2937a2f4ecf22a5a4242cd0a350f20228f50232.
Per Jose's comment, We don't want this on master.
Brian Paul [Fri, 11 Dec 2009 17:04:07 +0000 (10:04 -0700)]
Merge branch 'mesa_7_7_branch'
Conflicts:
src/gallium/state_trackers/xorg/xorg_xv.c
src/mesa/drivers/dri/intel/intel_span.c
Brian Paul [Fri, 11 Dec 2009 16:51:27 +0000 (09:51 -0700)]
Merge branch 'mesa_7_6_branch' into mesa_7_7_branch
Brian Paul [Fri, 11 Dec 2009 16:41:34 +0000 (09:41 -0700)]
docs: updated 7.6.1 relnotes with GLSL fixes
Brian Paul [Fri, 11 Dec 2009 16:40:33 +0000 (09:40 -0700)]
mesa: remove unnecessary loop in _mesa_remove_output_reads()
Brian Paul [Fri, 11 Dec 2009 16:22:00 +0000 (09:22 -0700)]
Merge branch 'mesa_7_6_branch' into mesa_7_7_branch
Brian Paul [Fri, 11 Dec 2009 16:16:25 +0000 (09:16 -0700)]
mesa: check dst reg in _mesa_find_free_register()
If a register was only being used as a destination (as will happen when
generated condition-codes) we missed its use. So we'd errantly return
a register index that was really in-use, not free.
Fixes bug 25579.
Aurelien Jarno [Fri, 11 Dec 2009 15:46:54 +0000 (08:46 -0700)]
sparc: additional preprocessor test for SPARC 64-bit
José Fonseca [Fri, 11 Dec 2009 15:16:22 +0000 (15:16 +0000)]
scons: Tweak MSVC release options.
Enable whole program optimizations and fast math.
José Fonseca [Fri, 11 Dec 2009 14:14:03 +0000 (14:14 +0000)]
svga: Add a missing dependency from the prescale state.
Thanks for Keith to finding this.
Fixes Jedi Knight 2 menus.
José Fonseca [Fri, 11 Dec 2009 13:15:12 +0000 (13:15 +0000)]
svga: Always pass SVGA3D_SURFACE_HINT_DYNAMIC.
Since we're reusing buffers we're effectively transforming all
of them into dynamic buffers.
It would be nice to not cache long lived static buffers. But there
is no way to detect the long lived from short lived ones yet. A
good heuristic would be buffer size.
José Fonseca [Fri, 11 Dec 2009 12:29:02 +0000 (12:29 +0000)]
svga: Keep tight control of texture handle ownership.
The texture owns the surface handle. All derivatives need to keep
a reference to texture.
This fixes several assertions failures starting up Jedi Knight 2.
Should cause no change for DRM surface sharing -- reference count still
done as before there.
José Fonseca [Fri, 11 Dec 2009 12:09:02 +0000 (12:09 +0000)]
svga: Fix mixed signed comparisons.
José Fonseca [Fri, 11 Dec 2009 12:08:32 +0000 (12:08 +0000)]
scons: Pass -fno-strict-aliasing to gcc.
Strict aliasing tule violations were fixed on master, but
they're still causing problem in this branch, so disable this assumptions.
Do not apply this fix to master (revert when you merge).
José Fonseca [Wed, 25 Nov 2009 18:06:12 +0000 (18:06 +0000)]
scons: Make it work with MinGW build of LLVM 2.6.
LLVM 2.5 is no longer supported on windows.
Vinson Lee [Fri, 11 Dec 2009 02:51:51 +0000 (18:51 -0800)]
mesa: Initialize variable in MatchInstruction.
Vinson Lee [Fri, 11 Dec 2009 02:32:33 +0000 (18:32 -0800)]
mesa: Assign _mesa_lookup_parameter_index return value to GLint.
Vinson Lee [Fri, 11 Dec 2009 02:21:59 +0000 (18:21 -0800)]
i915: Add missing break statement in i915_debug_packet.
Vinson Lee [Fri, 11 Dec 2009 01:50:35 +0000 (17:50 -0800)]
glsl: Increase size of array in_slang_lookup_constant from 4 to 16.
For some cases, _mesa_GetIntegerv reads up to params[15].
Vinson Lee [Thu, 10 Dec 2009 23:41:13 +0000 (15:41 -0800)]
progs/samples: Byte swap individual members of struct _rawImageRec.
Ian Romanick [Wed, 9 Dec 2009 07:25:26 +0000 (23:25 -0800)]
intel: Remove ARGB internal_format == GL_RGB hacks
Now that XRGB is supported, we don't need to hack around cases of an RGBA
format buffer with an internal format of GL_RGB.
Ian Romanick [Wed, 9 Dec 2009 07:24:58 +0000 (23:24 -0800)]
intel: Make RGB textures use XRGB8888
Ian Romanick [Wed, 9 Dec 2009 05:15:36 +0000 (21:15 -0800)]
intel: Make RGB renderbuffers use XRGB8888 like we do for RGB system buffers.
Ian Romanick [Wed, 9 Dec 2009 05:13:05 +0000 (21:13 -0800)]
i965: Fix handling of drawing to MESA_FORMAT_XRGB8888
It turns out that 965 and friends cannot actually render to an xRGB
surfaces. Instead, the surface has to be RGBA with writes to alpha
disabled and the blend function modified to always use 1.0 for
destination alpha.
Ian Romanick [Wed, 9 Dec 2009 05:12:18 +0000 (21:12 -0800)]
intel: Use spantmp2 GL_BGR / GL_UNSIGNED_INT_8_8_8_8_REV for XRGB8888
Ian Romanick [Wed, 9 Dec 2009 05:10:45 +0000 (21:10 -0800)]
spantmp2: Add support for GL_BGR / GL_UNSIGNED_INT_8_8_8_8_REV
This is really for MESA_FORMAT_XRGB8888. Clearly spantmp2.h needs some
re-work. Any volunteers?
Ian Romanick [Wed, 9 Dec 2009 01:03:20 +0000 (17:03 -0800)]
intel: name in intel_create_renderbuffer was always 0, remove
Ian Romanick [Wed, 9 Dec 2009 00:06:13 +0000 (16:06 -0800)]
intel: Use texformat accessor to get bytes-per-pixel
Ian Romanick [Tue, 8 Dec 2009 23:51:18 +0000 (15:51 -0800)]
intel: softwareBuffer in intel_alloc_renderbuffer_storage was always false, remove
Ian Romanick [Tue, 8 Dec 2009 17:57:27 +0000 (09:57 -0800)]
intel: Axe intel_renderbuffer::texformat
Since the texformat branch merge, the value of intel_renderbuffer::texformat
is just a copy of gl_renderbuffer::Format.
Eric Anholt [Wed, 9 Dec 2009 19:36:45 +0000 (11:36 -0800)]
intel: Flush the render/texture cache when finishing render to texture.
Back when we were flushing the entire batch at BindFramebuffer, the kernel
would notice the domain transition when someone went to texture from it and
flush for us. We no longer do the batch flushing every time, so we get to
do aggressive flushing until we move batchbuffer handling to libdrm.
Fixes piglit fbo-flushing. Bug #25377. No noticeable performance loss
on cairo-gl (so this is better than batch flushing).
Vinson Lee [Thu, 10 Dec 2009 21:24:15 +0000 (13:24 -0800)]
progs/util: Byte swap individual members of struct _rawImageRec.
Vinson Lee [Thu, 10 Dec 2009 20:37:10 +0000 (12:37 -0800)]
glsl: Fix array out-of-bounds access by _slang_lookup_constant.
Vinson Lee [Thu, 10 Dec 2009 20:11:09 +0000 (12:11 -0800)]
mesa: Fix array out-of-bounds access by _mesa_TexParameteriv.
Eric Anholt [Thu, 10 Dec 2009 18:03:16 +0000 (10:03 -0800)]
mesa: Fix default (swrast) GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS.
The swrast pipeline shouldn't have any problem with all the frag and vert
textures being bound at the same time. Note that this may result in
DRI drivers that don't set this limit having an improbable return
(fragment + vertex < combined), but it seems like it shouldn't cause
problems for apps.
Zack Rusin [Thu, 10 Dec 2009 18:01:53 +0000 (13:01 -0500)]
st/xorg: fix yv12 plus some cleanups in the upload code
Zack Rusin [Wed, 18 Nov 2009 17:06:32 +0000 (12:06 -0500)]
st/xorg: enable yv12 for xv
Eric Anholt [Thu, 10 Dec 2009 17:16:37 +0000 (09:16 -0800)]
intel: Attempt to fix up after "Update vertex texture code."
The MaxCombinedTextureImageUnits is the total number of samplers that can
be bound between vertex, geometry, and fragment, not 0. This should report
the correct value on 965 now. Other DRI drivers may also need updating if
their MaxVertexTextureImageUnits != 0 (for example, if using the sw vertex
pipeline).
It's not clear to me if there's going to be a valid value for this
limit other than MaxTextureImageUnits + MaxVertexTextureImageUnits (+
MaxGeometryTextureImageUnits eventually). If not, then we should probably
just move this into the core at Get time.
Bug #25518 (wine regression). Fixes piglit vp-combined-image-units.
Vinson Lee [Thu, 10 Dec 2009 06:34:07 +0000 (22:34 -0800)]
mesa: Fix SCons build.
Commit
cd6b8dd9e82fedc55d033131fbc0f8ee950567c8 deleted
src/mesa/state_tracker/st_cb_get.c.
Roland Scheidegger [Thu, 10 Dec 2009 02:51:35 +0000 (03:51 +0100)]
winsys/intel: fix dereferencing of opaque type due to pipe_reference changes
Vinson Lee [Thu, 10 Dec 2009 01:59:23 +0000 (17:59 -0800)]
mesa: Fix array out-of-bounds access by _mesa_TexGend.
_mesa_TexGend calls _mesa_TexGenfv, which uses the params argument
as an array.