mesa.git
12 years agomesa: add swrast_texture_image::Buffer
Brian Paul [Sun, 23 Oct 2011 16:44:47 +0000 (10:44 -0600)]
mesa: add swrast_texture_image::Buffer

In the past, swrast_texture_image::Data has been overloaded.  It could
either point to malloc'd memory storing texture data, or it could point
to a current mapping of GPU memory.

Now, Buffer always points to malloc'd memory (if we're not using GPU
memory) and Data always points to mapped memory.  The next step would
be to rename Data -> Map.

This change also involves adding swrast functions for mapping textures
and renderbuffers prior to rendering to setup the Data pointer.  Plus,
corresponding functions to unmap texures and renderbuffers.  This is
very much like similar code in the dri drivers.

12 years agomesa: remove _mesa_alloc_texmemory(), _mesa_free_texmemory()
Brian Paul [Sun, 23 Oct 2011 16:44:47 +0000 (10:44 -0600)]
mesa: remove _mesa_alloc_texmemory(), _mesa_free_texmemory()

Core Mesa no longer does any texture memory allocation.

12 years agomesa: move gl_texture_image::Data, RowStride, ImageOffsets to swrast
Brian Paul [Sun, 23 Oct 2011 16:44:47 +0000 (10:44 -0600)]
mesa: move gl_texture_image::Data, RowStride, ImageOffsets to swrast

Only swrast and the drivers that fall back to swrast need these fields now.
This removes the last of the fields related to software rendering from
gl_texture_image.

12 years agollvmpipe: point out that there's two stencil writemasks
Brian Paul [Sun, 23 Oct 2011 16:08:06 +0000 (10:08 -0600)]
llvmpipe: point out that there's two stencil writemasks

In lp_build_stencil_op() the incoming 'stencil' var is a 2-element array.
There's a front-face writemask and a back-face writemask but we're ignoring
the later.  This patch doesn't fix anything but at least points out the
problem.

12 years agollvmpipe: compare front_facing to NULL to improve readability
Brian Paul [Sun, 23 Oct 2011 16:05:14 +0000 (10:05 -0600)]
llvmpipe: compare front_facing to NULL to improve readability

Compare 'front_facing' to NULL to make it more obvious that front_facing
is a pointer and not a simple boolean value.

12 years agogallivm: added lp_build_print_ivec4() function
Brian Paul [Sun, 23 Oct 2011 16:02:53 +0000 (10:02 -0600)]
gallivm: added lp_build_print_ivec4() function

12 years agomesa: improve the warning message in _mesa_choose_tex_format()
Brian Paul [Sun, 23 Oct 2011 16:00:00 +0000 (10:00 -0600)]
mesa: improve the warning message in _mesa_choose_tex_format()

Bug 42128 hits this _mesa_warning() call.

12 years agoglsl: Add support for constant expression evaluation on round(), roundEven().
Eric Anholt [Tue, 27 Sep 2011 21:54:10 +0000 (14:54 -0700)]
glsl: Add support for constant expression evaluation on round(), roundEven().

v2: Avoid the C99 rounding functions, because I don't trust
get/setting the C99 rounding mode from inside our library not having
other side effects.  Instead, open-code roundEven() behavior around
Mesa's IROUND, which we're already testing for C99 rounding mode
safety.

Fixes glsl-1.30/compiler/built-in-functions/round*

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agodri-r600: Hook up a drm_descriptor configuration function
Mathias Fröhlich [Fri, 14 Oct 2011 14:25:21 +0000 (16:25 +0200)]
dri-r600: Hook up a drm_descriptor configuration function

Returns a configuration that makes the dri state-tracker-manager
throttle.

12 years agor600g: make r[67]00 not bail out on PRED_SETNE_INT.
Mathias Fröhlich [Sun, 23 Oct 2011 06:57:43 +0000 (08:57 +0200)]
r600g: make r[67]00 not bail out on PRED_SETNE_INT.

12 years agor600g: make if's use PRED_SETNE_INT no matter what.
Dave Airlie [Sat, 22 Oct 2011 19:13:20 +0000 (20:13 +0100)]
r600g: make if's use PRED_SETNE_INT no matter what.

This is more correct for TGSI if, and with native ints enabled
it fixes 25 piglit fails.

Signed-off-by: Dave Airlie <airlied@redhat.com>
12 years agor600g: print inst in hex in dumps
Dave Airlie [Sat, 22 Oct 2011 19:11:26 +0000 (20:11 +0100)]
r600g: print inst in hex in dumps

since we have them as hex in the headers.

Signed-off-by: Dave Airlie <airlied@redhat.com>
12 years agor600g: drop specific i2f it should be a trans only op2.
Dave Airlie [Sat, 22 Oct 2011 19:08:44 +0000 (20:08 +0100)]
r600g: drop specific i2f it should be a trans only op2.

Signed-off-by: Dave Airlie <airlied@redhat.com>
12 years agovbo: Clean up unused variables in the vbo module.
Mathias Froehlich [Wed, 3 Aug 2011 06:10:52 +0000 (08:10 +0200)]
vbo: Clean up unused variables in the vbo module.

Remove some unused or unused but set variables
from the vbo module.

12 years agoConvert additional GNUC_MINOR checks to multiplied version
Alan Coopersmith [Fri, 21 Oct 2011 22:43:28 +0000 (15:43 -0700)]
Convert additional GNUC_MINOR checks to multiplied version

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agoFix gcc version checks for _mesa_bitcount
Alan Coopersmith [Fri, 21 Oct 2011 00:14:05 +0000 (17:14 -0700)]
Fix gcc version checks for  _mesa_bitcount

- Fix _GNUC__ typo in both checks
- Fix logic error in check for gcc < 3.4 that breaks for gcc 2.x & older

Without this fix, builds with gcc 3.4.x end up depending on undefined
_mesa_bitcount instead of gcc's __builtin_popcount.

NOTE: This is a candidate for the stable branches.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agogallium/targets: Add vdpau target for nouveau
Maarten Lankhorst [Tue, 18 Oct 2011 12:24:30 +0000 (14:24 +0200)]
gallium/targets: Add vdpau target for nouveau

Should fall back to shader based decoding (g3dvl) for now.

This is probably broken on systems that support xvmc, because
nouveau_video_buffer_create has no way to know for what api
the buffer is created, so I think this call might need a
separate argument as workaround.

Signed-off-by: Maarten Lankhorst <m.b.lankhorst@gmail.com>
12 years agod3d1x: set primitive restart in the correct draw calls
Christoph Bumiller [Thu, 20 Oct 2011 21:36:15 +0000 (23:36 +0200)]
d3d1x: set primitive restart in the correct draw calls

12 years agonv50/ir: import SM4 converter
Christoph Bumiller [Tue, 18 Oct 2011 16:36:57 +0000 (18:36 +0200)]
nv50/ir: import SM4 converter

12 years agonouveau,nvc0: fix/improve handling of multiple constant buffers
Christoph Bumiller [Thu, 20 Oct 2011 20:42:59 +0000 (22:42 +0200)]
nouveau,nvc0: fix/improve handling of multiple constant buffers

12 years agonvc0: add support for linear and buffer textures and RTs
Christoph Bumiller [Tue, 18 Oct 2011 10:08:19 +0000 (12:08 +0200)]
nvc0: add support for linear and buffer textures and RTs

12 years agonvc0: add support for clip distance shader outputs
Christoph Bumiller [Tue, 18 Oct 2011 10:07:01 +0000 (12:07 +0200)]
nvc0: add support for clip distance shader outputs

12 years agonvc0: handle more query types
Christoph Bumiller [Fri, 21 Oct 2011 20:58:18 +0000 (22:58 +0200)]
nvc0: handle more query types

12 years agonvc0: fix location of the PrimitiveID output
Christoph Bumiller [Sat, 15 Oct 2011 09:49:55 +0000 (11:49 +0200)]
nvc0: fix location of the PrimitiveID output

12 years agonvc0: prevent VERTEXID/INSTANCEID from consuming input slots
Christoph Bumiller [Mon, 17 Oct 2011 21:26:57 +0000 (23:26 +0200)]
nvc0: prevent VERTEXID/INSTANCEID from consuming input slots

12 years agonvc0: fixes for program tessellation parameters
Christoph Bumiller [Mon, 17 Oct 2011 21:30:02 +0000 (23:30 +0200)]
nvc0: fixes for program tessellation parameters

12 years agonv50,nvc0: reset per-instance state for inactive vertex elements
Christoph Bumiller [Sat, 15 Oct 2011 10:03:03 +0000 (12:03 +0200)]
nv50,nvc0: reset per-instance state for inactive vertex elements

12 years agonv50,nvc0: reset base element in draw_arrays
Christoph Bumiller [Fri, 14 Oct 2011 20:22:04 +0000 (22:22 +0200)]
nv50,nvc0: reset base element in draw_arrays

It affects VERTEX_BUFFER_FIRST,COUNT submission, too.

12 years agonvc0: apply first_layer offset to all resources with array_size
Christoph Bumiller [Tue, 11 Oct 2011 09:41:47 +0000 (11:41 +0200)]
nvc0: apply first_layer offset to all resources with array_size

Makes CUBE arrays work with d3d1x.

12 years agonvc0: emit state to allow GP to select the RT layer
Christoph Bumiller [Fri, 14 Oct 2011 20:19:01 +0000 (22:19 +0200)]
nvc0: emit state to allow GP to select the RT layer

12 years agonvc0: validate GP samplers, textures
Christoph Bumiller [Fri, 14 Oct 2011 20:16:48 +0000 (22:16 +0200)]
nvc0: validate GP samplers, textures

12 years agonvc0: fix clear_render_target/depth_stencil region
Christoph Bumiller [Fri, 14 Oct 2011 20:12:42 +0000 (22:12 +0200)]
nvc0: fix clear_render_target/depth_stencil region

In all 3 dimensions (now clearing all layers too).

12 years agonvc0: fix assertion that immediate array buffer fits
Christoph Bumiller [Sun, 25 Sep 2011 16:00:07 +0000 (18:00 +0200)]
nvc0: fix assertion that immediate array buffer fits

12 years agonv50/ir: use RDSV to fetch FrontFacing before lowering
Christoph Bumiller [Mon, 17 Oct 2011 21:04:11 +0000 (23:04 +0200)]
nv50/ir: use RDSV to fetch FrontFacing before lowering

12 years agonv50/ir: fix textureGrad with offsets and in non-FPs
Christoph Bumiller [Tue, 11 Oct 2011 15:58:14 +0000 (17:58 +0200)]
nv50/ir: fix textureGrad with offsets and in non-FPs

12 years agonv50/ir: add wrap mode for shift operations
Christoph Bumiller [Mon, 17 Oct 2011 21:02:16 +0000 (23:02 +0200)]
nv50/ir: add wrap mode for shift operations

D3D1x specifies that only the low 5 bit of the shift are used.

12 years agonv50/ir: initialize RelocInfo to 0
Christoph Bumiller [Thu, 6 Oct 2011 18:45:08 +0000 (20:45 +0200)]
nv50/ir: initialize RelocInfo to 0

12 years agonvc0/ir: fix emission of cvt when register and type size differ
Christoph Bumiller [Thu, 6 Oct 2011 12:32:58 +0000 (14:32 +0200)]
nvc0/ir: fix emission of cvt when register and type size differ

12 years agonv50/ir: fix argument count for CUBE_ARRAY texture target
Christoph Bumiller [Fri, 14 Oct 2011 17:58:04 +0000 (19:58 +0200)]
nv50/ir: fix argument count for CUBE_ARRAY texture target

12 years agonvc0/ir: GP emit address must end up in $r0
Christoph Bumiller [Mon, 17 Oct 2011 21:00:59 +0000 (23:00 +0200)]
nvc0/ir: GP emit address must end up in $r0

12 years agonvc0/ir: TXQ requires different lowering from normal TEX
Christoph Bumiller [Fri, 14 Oct 2011 17:56:33 +0000 (19:56 +0200)]
nvc0/ir: TXQ requires different lowering from normal TEX

12 years agonv50/ir: initialize default prog_info values for GP,TP
Christoph Bumiller [Fri, 14 Oct 2011 17:54:34 +0000 (19:54 +0200)]
nv50/ir: initialize default prog_info values for GP,TP

12 years agonv50/ir: fix memory value equality check
Christoph Bumiller [Fri, 14 Oct 2011 17:49:22 +0000 (19:49 +0200)]
nv50/ir: fix memory value equality check

12 years agonv50/ir: fix leak in removal of graph root
Christoph Bumiller [Fri, 14 Oct 2011 17:47:45 +0000 (19:47 +0200)]
nv50/ir: fix leak in removal of graph root

12 years agod3d1x: fix/improve OMSetRenderTargets
Christoph Bumiller [Thu, 20 Oct 2011 18:43:11 +0000 (20:43 +0200)]
d3d1x: fix/improve OMSetRenderTargets

Don't count trailing NULL RTVs.
Don't skip update if only DSV has changed.

12 years agod3d1x: avoid translating invalid blend, depth or stencil state
Christoph Bumiller [Thu, 13 Oct 2011 20:36:27 +0000 (22:36 +0200)]
d3d1x: avoid translating invalid blend, depth or stencil state

12 years agod3d1x: add support for buffer views
Christoph Bumiller [Thu, 13 Oct 2011 20:29:12 +0000 (22:29 +0200)]
d3d1x: add support for buffer views

12 years agod3d1x: improve CreateInputLayout
Christoph Bumiller [Thu, 13 Oct 2011 20:27:40 +0000 (22:27 +0200)]
d3d1x: improve CreateInputLayout

12 years agod3d1x/context: fix IASetVertexBuffers stride comparison
Christoph Bumiller [Wed, 5 Oct 2011 14:56:24 +0000 (16:56 +0200)]
d3d1x/context: fix IASetVertexBuffers stride comparison

12 years agod3d1x: use ZS formats for TYPELESS resources with DS binding
Christoph Bumiller [Thu, 13 Oct 2011 19:27:09 +0000 (21:27 +0200)]
d3d1x: use ZS formats for TYPELESS resources with DS binding

12 years agod3d1x: use resource format if view format is UNKNOWN
Christoph Bumiller [Mon, 17 Oct 2011 18:50:23 +0000 (20:50 +0200)]
d3d1x: use resource format if view format is UNKNOWN

12 years agod3d1x: fix shadow comparison to gallium enum off by one
Christoph Bumiller [Sun, 25 Sep 2011 17:03:44 +0000 (19:03 +0200)]
d3d1x: fix shadow comparison to gallium enum off by one

12 years agod3d1x: improve CheckFormatSupport
Christoph Bumiller [Mon, 17 Oct 2011 18:49:56 +0000 (20:49 +0200)]
d3d1x: improve CheckFormatSupport

12 years agod3d1x: update format mapping table
Christoph Bumiller [Thu, 13 Oct 2011 17:31:51 +0000 (19:31 +0200)]
d3d1x: update format mapping table

Use the proper integer formats.
Fix mapping of some PIPE depth formats to DXGI.

12 years agod3d1x: fix translation of subresource to layer
Christoph Bumiller [Thu, 20 Oct 2011 18:12:51 +0000 (20:12 +0200)]
d3d1x: fix translation of subresource to layer

12 years agod3d1x: fix initial data upload for 3D textures
Christoph Bumiller [Thu, 13 Oct 2011 12:25:44 +0000 (14:25 +0200)]
d3d1x: fix initial data upload for 3D textures

12 years agod3d1x: MipLevels -1 in resource view desc means all
Christoph Bumiller [Thu, 13 Oct 2011 12:22:37 +0000 (14:22 +0200)]
d3d1x: MipLevels -1 in resource view desc means all

12 years agod3d1x/dxgi: fix initialization of pipe_box for Present copy
Christoph Bumiller [Tue, 11 Oct 2011 12:22:32 +0000 (14:22 +0200)]
d3d1x/dxgi: fix initialization of pipe_box for Present copy

12 years agod3d1x: implement array textures
Christoph Bumiller [Thu, 13 Oct 2011 12:40:44 +0000 (14:40 +0200)]
d3d1x: implement array textures

12 years agonvc0/ir: handle levelZero modifier in TEX emission
Christoph Bumiller [Thu, 13 Oct 2011 11:53:39 +0000 (13:53 +0200)]
nvc0/ir: handle levelZero modifier in TEX emission

12 years agonvc0/ir: fix lowering of DIV F32
Christoph Bumiller [Fri, 23 Sep 2011 16:39:48 +0000 (18:39 +0200)]
nvc0/ir: fix lowering of DIV F32

12 years agod3d1x: fix refcounting of GalliumD3D11DeviceChild objects
Christoph Bumiller [Wed, 12 Oct 2011 19:08:40 +0000 (21:08 +0200)]
d3d1x: fix refcounting of GalliumD3D11DeviceChild objects

An external Release would have lowered the device reference count,
but an internal reference in the context does not raise it (by
design).

12 years agonvc0/ir: fix xy confusion typo in readTessCoord
Christoph Bumiller [Wed, 12 Oct 2011 18:44:53 +0000 (20:44 +0200)]
nvc0/ir: fix xy confusion typo in readTessCoord

12 years agod3d1x/sm4: save CUSTOMDATA
Christoph Bumiller [Wed, 12 Oct 2011 17:37:02 +0000 (19:37 +0200)]
d3d1x/sm4: save CUSTOMDATA

This is the data for the immediate constant buffer.

12 years agod3d1x: add FORK/JOIN phase opcodes to declarations
Christoph Bumiller [Wed, 12 Oct 2011 16:04:50 +0000 (18:04 +0200)]
d3d1x: add FORK/JOIN phase opcodes to declarations

The phase instance counts are not necessarily redeclared so with
the separation of declarations and instructions we wouldn't know
which instance count applies to which phase.

12 years agod3d1x: add shader signature to sm4_program
Christoph Bumiller [Thu, 20 Oct 2011 16:37:07 +0000 (18:37 +0200)]
d3d1x: add shader signature to sm4_program

Correct linkage requires examining the signature itself, it cannot
be reconstructed from declarations only since unused registers may
have been omitted from them.

12 years agod3d1x: attempt to detect D3D10 feature level
Christoph Bumiller [Wed, 12 Oct 2011 15:35:30 +0000 (17:35 +0200)]
d3d1x: attempt to detect D3D10 feature level

Virtually all applications refuse to use the D3D10 backend if this
level is not supported, which makes testing annoying.

12 years agod3d1x: switch to TGSI SAMPLE opcodes
Christoph Bumiller [Thu, 20 Oct 2011 16:32:23 +0000 (18:32 +0200)]
d3d1x: switch to TGSI SAMPLE opcodes

We don't want to clutter the code or handicap new hardware for
the sake of ancient GPUs on which d3d1x won't ever be used,
much less be fully compliant, anyway.

12 years agost/mesa: fix a bug in and re-org setup_interleaved_attribs()
Brian Paul [Fri, 21 Oct 2011 16:09:48 +0000 (10:09 -0600)]
st/mesa: fix a bug in and re-org setup_interleaved_attribs()

We were mis-computing the size of the user-space vertex buffer in
some circumstances.  This led to a failed assertion at u_inlines.h:222
when using the VMware svga driver.

For example, if we had arrays such as:

array[0]: element_offset = 12, stride = 24
array[1]: element_offset = 0, stride = 24

We'd mistakenly compute 'bytes' to be 12 bytes too small.

I've reorganized the function too.  By time it's called, we know that
we've got interleaved arrays either all in one VBO or all in user memory
and the stride is equal for all arrays.

Move the code that lived inside the attr==0 test after the loop.

In the loop we compute the true vertex size.  That size factors into the
pipe->redefine_user_buffer() call later.  Using the vertex size instead
of array[0]'s element_offset fixes the failed assertion.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
12 years agoglsl: Short-circuit lower_if_to_cond_assign when MaxIfDepth is UINT_MAX.
Kenneth Graunke [Tue, 18 Oct 2011 22:04:37 +0000 (15:04 -0700)]
glsl: Short-circuit lower_if_to_cond_assign when MaxIfDepth is UINT_MAX.

Setting MaxIfDepth to UINT_MAX effectively means "don't lower anything."

Explicitly checking for this common case allows us to avoid walking the
IR, computing nesting levels, and so on.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Bryan Cain <bryancain3@gmail.com>
12 years agoi965: Set MaxIfDepth to UINT_MAX on Gen6+ and 16 on prior generations.
Kenneth Graunke [Tue, 20 Sep 2011 06:47:56 +0000 (23:47 -0700)]
i965: Set MaxIfDepth to UINT_MAX on Gen6+ and 16 on prior generations.

Commit 488fe51cf823ccd137c667f1e92dd86f8323b723 converted the EmitNoIfs
flag to MaxIfDepth, an unsigned integer saying "flatten if-statements
nested beyond this depth."

Unfortunately, i965 left this initialized to 0, which made ir_to_mesa
attempt to flatten all if-statements.  We didn't notice right away
because we usually throw away ir_to_mesa's code in favor of the native
VS and FS backends...but this still creates a lot of unnecessary work.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoapple: Use the correct (OpenGL.framework) glViewport and glScissor during init
Jeremy Huddleston [Fri, 21 Oct 2011 07:22:40 +0000 (00:22 -0700)]
apple: Use the correct (OpenGL.framework) glViewport and glScissor during init

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
12 years agoapple: Silence some debug spew
Jeremy Huddleston [Fri, 21 Oct 2011 05:54:08 +0000 (22:54 -0700)]
apple: Silence some debug spew

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
12 years agor600g: cleanup r600_reset_blittable_to_compressed
Marek Olšák [Fri, 21 Oct 2011 00:00:40 +0000 (02:00 +0200)]
r600g: cleanup r600_reset_blittable_to_compressed

12 years agost/mesa: Initialize variable.
Vinson Lee [Thu, 20 Oct 2011 23:52:53 +0000 (16:52 -0700)]
st/mesa: Initialize variable.

ptr is uninitialized if ib is NULL.

Fixes Coverity uninitialized pointer read defect.

Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
12 years agoAdd solaris detection for PIPE_ARCH_LITTLE_ENDIAN/PIPE_ARCH_BIG_ENDIAN
Alan Coopersmith [Tue, 18 Oct 2011 21:04:15 +0000 (14:04 -0700)]
Add solaris detection for PIPE_ARCH_LITTLE_ENDIAN/PIPE_ARCH_BIG_ENDIAN

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
12 years agoi965: Remove copy and pasted gen7_wm_constants state atom.
Kenneth Graunke [Wed, 19 Oct 2011 00:05:30 +0000 (17:05 -0700)]
i965: Remove copy and pasted gen7_wm_constants state atom.

Now that this is identical to gen6_wm_constants, just use that instead.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agoi965: Use AUB_TRACE_WM_CONSTANTS in gen7_prepare_wm_push_constants.
Kenneth Graunke [Wed, 19 Oct 2011 00:05:29 +0000 (17:05 -0700)]
i965: Use AUB_TRACE_WM_CONSTANTS in gen7_prepare_wm_push_constants.

This makes it match gen6_prepare_wm_push_constants.  For some reason, it
had been using AUB_TRACE_NO_TYPE.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agoi965: Fix incorrect dirty bit in gen6_prepare_wm_push_constants.
Kenneth Graunke [Wed, 19 Oct 2011 00:05:28 +0000 (17:05 -0700)]
i965: Fix incorrect dirty bit in gen6_prepare_wm_push_constants.

We definitely want CACHE_NEW_WM_PROG, not CACHE_NEW_VS_PROG.

NOTE: This is a candidate for the 7.11 branch.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agor300g: don't return NULL in resource_from_handle if the resource is too small
Marek Olšák [Thu, 20 Oct 2011 21:14:36 +0000 (23:14 +0200)]
r300g: don't return NULL in resource_from_handle if the resource is too small

The DDX may allocate a buffer with a too small size.
Instead of failing, let's pretend everything's alright.

Such bugs should be fixed in the DDX, of course.

NOTE: This is a candidate for the stable branches.

12 years agodocs: document known issues with Viewperf 11
Brian Paul [Thu, 20 Oct 2011 21:13:17 +0000 (15:13 -0600)]
docs: document known issues with Viewperf 11

12 years agoi965/vs: Fix comparisons with uint negation.
Eric Anholt [Mon, 3 Oct 2011 22:31:52 +0000 (15:31 -0700)]
i965/vs: Fix comparisons with uint negation.

The condmod instruction ends up generating garbage condition codes,
because apparently the comparison happens on the accumulator value (33
bits for UD), not the truncated value that would be written.

Fixes vs-op-neg-*

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agoi965/fs: Fix comparisions with uint negation.
Eric Anholt [Mon, 3 Oct 2011 22:12:10 +0000 (15:12 -0700)]
i965/fs: Fix comparisions with uint negation.

The condmod instruction ends up generating garbage condition codes,
because apparently the comparison happens on the accumulator value (33
bits for UD), not the truncated value that would be written.

Fixes fs-op-neg-*

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agod3d1x: make use of new query types
Christoph Bumiller [Sat, 15 Oct 2011 14:44:04 +0000 (16:44 +0200)]
d3d1x: make use of new query types

12 years agosoftpipe: implement/fix TIMESTAMP queries
Christoph Bumiller [Sat, 15 Oct 2011 14:35:27 +0000 (16:35 +0200)]
softpipe: implement/fix TIMESTAMP queries

12 years agogallium: add new query types and missing documentation
Christoph Bumiller [Thu, 20 Oct 2011 16:03:23 +0000 (18:03 +0200)]
gallium: add new query types and missing documentation

12 years agomesa: Fix detection of whether an ARB_vp is enabled for two sided lighting.
Eric Anholt [Tue, 18 Oct 2011 22:20:27 +0000 (15:20 -0700)]
mesa: Fix detection of whether an ARB_vp is enabled for two sided lighting.

When there is no ARB_vertex_program program enabled, the Current
pointer points at a default program, so we were always using
VERTEX_PROGRAM_TWO_SIDE, even for fixed function lighting.

Fixes piglit two-sided-lighting*

Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agomesa: Round the argument to PixelStoref instead of truncating.
Eric Anholt [Tue, 18 Oct 2011 18:52:39 +0000 (11:52 -0700)]
mesa: Round the argument to PixelStoref instead of truncating.

From the GL 2.1 specification, page 114 (page 128 of the PDF):

    "The version of PixelStore that takes a floating-point value
     may be used to set any type of parameter; if the parameter is
     boolean, then it is set to FALSE if the passed value is 0.0
     and TRUE otherwise, while if the parameter is an integer, then
     the passed value is rounded to the nearest integer."

Fixes piglit roundmode-pixelstore.
Note: This is a candidate for the 7.11 branch.

Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agomesa: handle PBO access error in display list mode
Yuanhan Liu [Wed, 19 Oct 2011 03:20:18 +0000 (11:20 +0800)]
mesa: handle PBO access error in display list mode

Simply generate GL_INVALID_OPERATION error at display list mode. As
explained by Brian, we are going to access PBO data at compile time.
No need to defer the error at execution time.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoi965: silence signed/unsigned comparison warning
Brian Paul [Sat, 15 Oct 2011 22:36:11 +0000 (16:36 -0600)]
i965: silence signed/unsigned comparison warning

Reviewed-by: Paul Berry <stereotype441@gmail.com>
12 years agost/mesa: remove primitive restart assertion
Brian Paul [Mon, 2 May 2011 19:19:09 +0000 (13:19 -0600)]
st/mesa: remove primitive restart assertion

Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
12 years agost/mesa: Don't have indices buffers map when calling draw
Jakob Bornecrantz [Wed, 20 Apr 2011 11:42:37 +0000 (12:42 +0100)]
st/mesa: Don't have indices buffers map when calling draw

12 years agost/mesa: Implement primitive restart in software
Jakob Bornecrantz [Fri, 15 Apr 2011 20:13:04 +0000 (21:13 +0100)]
st/mesa: Implement primitive restart in software

12 years agoswrast: fix float->uint conversion of gl_FragDepth
Brian Paul [Wed, 19 Oct 2011 15:29:38 +0000 (09:29 -0600)]
swrast: fix float->uint conversion of gl_FragDepth

Using IROUND() to convert a float depth value to a 32-bit uint Z value.
didn't work (it returns a signed value).  Just use a cast instead

Fixes piglit fbo-depth-array failure with swrast.

Note: this is a candidate for the 7.11 branch.

12 years agomesa: better debug messages in _mesa_test_texobj_completeness()
Brian Paul [Wed, 19 Oct 2011 15:20:47 +0000 (09:20 -0600)]
mesa: better debug messages in _mesa_test_texobj_completeness()

And use a gl_texture_image var to simplify the code a bit.

12 years agomesa/st: Backport WPOS adjustment fixes from st_mesa_to_tgsi.c to st_glsl_to_tgsi...
José Fonseca [Wed, 19 Oct 2011 14:45:58 +0000 (16:45 +0200)]
mesa/st: Backport WPOS adjustment fixes from st_mesa_to_tgsi.c to st_glsl_to_tgsi.cpp.

This is a trivial verbatim copy of the code from Christoph Bumiller's commit
f986a6560f3ee9a79b89e9409e3a9ac52b53315c.

Fixes fdo 39939 and 39942.

12 years agowinsys/svga: Remove some unneeded debug code
Thomas Hellstrom [Wed, 19 Oct 2011 11:49:09 +0000 (13:49 +0200)]
winsys/svga: Remove some unneeded debug code

This code isn't really relevant since the kernel takes care not
to destroy busy GMR buffers.

Also with the advent of fence objects, the code was incorrect since
it didn't refcount fence handles.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
12 years agoscons: Add uniform_query.cpp to SConscript.
Vinson Lee [Wed, 19 Oct 2011 01:39:11 +0000 (18:39 -0700)]
scons: Add uniform_query.cpp to SConscript.

12 years agomesa: handle the pbo case for save_Bitmap
Yuanhan Liu [Sat, 15 Oct 2011 14:44:18 +0000 (22:44 +0800)]
mesa: handle the pbo case for save_Bitmap

Wrap _mesa_unpack_bitmap to handle the case that data is stored in pixel
buffer object.

This would make calling Bitmap with data stored in PBO by display list work.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agomesa: fix inverted pbo test error at _mesa_GetnCompressedTexImageARB
Yuanhan Liu [Sun, 16 Oct 2011 01:35:33 +0000 (09:35 +0800)]
mesa: fix inverted pbo test error at _mesa_GetnCompressedTexImageARB

It seems like a typo.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>