Commit Graph

62779 Commits

Author SHA1 Message Date
Marek Olšák 6dd045ef40 r600g: disable async DMA on R700
Cc: 10.0 10.1 mesa-stable@lists.freedesktop.org
2014-04-25 01:33:12 +02:00
Marek Olšák e5741f1e91 r600g: fix edge flags and layered rendering on R600-R700
We forgot to set these bits.

Cc: 10.1 mesa-stable@lists.freedesktop.org
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2014-04-25 01:33:12 +02:00
Marek Olšák 8a1dfba73e st/mesa: remove trailing NULL colorbuffers
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Brian Paul <brianp@vmware.com>
2014-04-25 01:33:12 +02:00
Marek Olšák e522c455e4 r300g: don't crash when getting NULL colorbuffers
Cc: mesa-stable@lists.freedesktop.org
2014-04-25 01:33:12 +02:00
Marek Olšák ba4f6a5fc9 r300g: fix runtime warning after winsys cleanup
Broken by:
  b2238b3452
  winsys/radeon: remove cs_write_reloc, add simpler cs_get_reloc
2014-04-25 01:33:12 +02:00
Marek Olšák 7920adb45c radeonsi: implement GL_ARB_vertex_type_10f_11f_11f_rev
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2014-04-25 01:33:12 +02:00
José Fonseca f438a82492 st/xlib: Do minimal version checking in glXCreateContextAttribsARB.
The current version checking is wrongly refusing to create 3.3 contexts;
unsupported version are checked elsewhere; and the DRI path doesn't do
this sort of checking neither.

This enables piglit glsl 3.30 tests to run without skipping.

Reviewed-by: Brian Paul <brianp@vmware.com>
2014-04-24 20:26:23 +01:00
José Fonseca 7380ce9bf6 llvmpipe: Advertise GLSL 3.30.
According to Roland all TGSI support is there in theory.

In practice there are a few piglit failures and crashes, as this hadn't
been tested before.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
2014-04-24 20:26:23 +01:00
José Fonseca 5f493eed69 st/xlib: Honour request of 3.1 contexts through core profile where available.
The GLX_ARB_create_context_profile spec says:

    "If version 3.1 is requested, the context returned may implement
    any of the following versions:

      * Version 3.1. The GL_ARB_compatibility extension may or may not
        be implemented, as determined by the implementation.

      * The core profile of version 3.2 or greater."

Mesa does not support GL_ARB_compatibility, and there are no plans to
ever support it, therefore the only chance to honour a 3.1 context is
through core profile, i.e, the 2nd alternative from the spec.

This change does that.  And with it piglit tests that require 3.1
contexts no longer skip.

Assuming there is no objection with this change, src/glx/dri_common.c
and src/gallium/state_trackers/wgl/stw_context.c should also be updated
accordingly, given they have the same logic.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
2014-04-24 20:26:23 +01:00
Zack Rusin 1c73e919a4 draw/llvm: reduce memory usage
Lets make draw_get_option_use_llvm function available unconditionally
and use it to avoid useless allocations when LLVM paths are active.
TGSI machine is never used when we're using LLVM.

Signed-off-by: Zack Rusin <zackr@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
2014-04-24 13:59:24 -04:00
Brian Paul 552a8e44a9 docs: fix typo in 10.1.1 release notes URL 2014-04-24 08:37:23 -06:00
Brian Paul 0a92c88a51 swrast: move texture_slices() calls out of loops
Reviewed-by: José Fonseca <jfonseca@vmware.com>
2014-04-24 08:16:01 -06:00
Brian Paul 1a7fa8b2eb swrast: move null pointer check earlier in _swrast_map_teximage()
There's no reason to compute texel size, stride, etc. if there's no
image data to map.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
2014-04-24 08:16:01 -06:00
Brian Paul 5e81e6e268 swrast: remove _mesa_ prefix from static function
And add a const qualifier.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
2014-04-24 08:16:01 -06:00
Brian Paul 7cc2e2e99d swrast: allocate swrast_texture_image::ImageSlices array if needed
Fixes a segmentation fault in conform divzero.c test.
This happens when glTexImage(level, width=0, height=0) is called.  We
don't allocate texture memory in that case so the ImageSlices array
was never allocated.

Cc: "10.1" <mesa-stable@lists.freedesktop.org>

Reviewed-by: José Fonseca <jfonseca@vmware.com>
2014-04-24 08:16:01 -06:00
nick 15c92464df swrast: Fix vertex color in _swsetup_Translate()
Straightforward fix to properly load dest->color with color data, as
opposed to position data as previously implemented.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=27499
Cc: "10.1" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
2014-04-24 08:16:00 -06:00
José Fonseca 1527a545a4 gallivm: Fix wrong operator in lp_exec_default.
Courtesy of MSVC static code analyser.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
2014-04-24 14:49:53 +01:00
José Fonseca 878877d3c4 mesa/st: Handle empty frame-buffers without asserting.
Fixes assertion failures with radeonsi.

Tested-by: Marek Olšák <maraeo@gmail.com>
2014-04-24 14:48:37 +01:00
José Fonseca fd92346c53 mesa/st: Fix pipe_framebuffer_state::height for PIPE_TEXTURE_1D_ARRAY.
This prevents buffer overflow w/ llvmpipe when running piglit

  bin/gl-3.2-layered-rendering-clear-color-all-types 1d_array single_level -fbo -auto

v2: Compute the framebuffer size as the minimum size, as pointed out by
Brian;  compacted code;  ran piglit quick test list (with no
regressions.)

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
2014-04-23 19:12:23 +01:00
José Fonseca 7a8667f2b3 util/u_debug: Pass correct size to strncat.
Courtesy of Clang static analyzer.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
2014-04-23 19:12:23 +01:00
Rob Clark 05b3cea77b freedreno/a3xx: fix TOTALATTRTOVS
In cases where varying fetches are optimized away (just pass-through in
vertex shader, but unused in fragment shader) we need to calculate the
correct TOTALATTROVS based on the actual number of varyings fetched,
otherwise lockup.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
2014-04-23 07:32:16 -04:00
Kenneth Graunke 34a68345e2 i965: Make Broadwell HiZ path arrange for TC flushes.
HiZ operations make the depth/render caches out of sync with the sampler
caches.  We need to arrange for a TC flush to happen before the target
buffer is used by the sampler.  Calling brw_render_cache_set_add_bo
makes that happen.

On previous generations, brw_blorp_exec took care of flushing the
texture cache by calling intel_batchbuffer_emit_mi_flush after doing
any rendering.  If we were to use the normal drawing path, then
brw_postdraw_set_buffers_need_resolve would handle this.

On Broadwell, we don't use BLORP, and we don't emit a rectangle
primitive via the normal drawing path.  The 3DSTATE_WM_HZ_OP and
PIPE_CONTROL implicitly make drawing happen.  So, none of our existing
code makes this flush happen - we need to do it directly.

Fixes 11 Piglit copyteximage subtests.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77223
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77226
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
2014-04-22 10:57:11 -07:00
Matt Turner fe49949392 i965: Use uint16_t for control/src index tables.
No need to use 32-bits to store 15 and 12.

Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
2014-04-22 09:12:31 -07:00
Matt Turner f02f489295 i965/disasm: Fix s/xoo/xor/ typo.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2014-04-22 09:12:31 -07:00
Matt Turner 06501b3cf0 i965/disasm: Remove tables with obvious mappings.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2014-04-22 09:12:31 -07:00
Ilia Mirkin 5ce3f2fe72 mesa/st: enable EXT_shader_integer_mix when NativeIntegers is on
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2014-04-22 11:27:34 -04:00
Christian König 7eda318ffe st/omx/enc: implement frame reordering and B-frames
Signed-off-by: Christian König <christian.koenig@amd.com>
2014-04-22 16:42:08 +02:00
Leo Liu b03be6908e st/omx/enc: replace omx buffer with texture buffer
Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
2014-04-22 15:13:08 +02:00
Michel Dänzer 360038fa50 radeonsi: Fix calculation of number of banks for SI
The way cik_num_banks() was calculating the index only makes sense for
the CIK specific macrotile mode array. For SI, we need to use the tile
mode index directly.

This happened to work most of the time because most of the SI tiling
modes use the same number of banks.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2014-04-22 12:07:07 +09:00
Chris Forbes 0dfa6e7cf5 glsl: Only allow `invariant` on shader in/out between stages.
Previously this was special-cased for VS and FS; it never got updated
when geometry shaders came along. Generalize using is_varying_var() so
this won't be broken again with tessellation.

Note that there are two copies of the logic for `invariant`: It can be
present as part of a new declaration, and also as a redeclaration of an
existing variable or block member.

Fixes the four new piglits:
   spec/glsl-1.50/compiler/invariant-qualifier-*.geom

Note for stable: This won't quite pick cleanly due to whitespace and
state->target -> state->stage renames. Should be straightforward
adjustments though.

Cc: "10.0 10.1" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2014-04-22 09:07:05 +12:00
Brian Paul 0a0075666c svga: move draw debug code into separate function
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
2014-04-21 14:54:28 -06:00
Brian Paul e959274081 mesa: move declaration before code
To fix MSVC build.
2014-04-21 13:24:26 -06:00
Anuj Phogat f8ae2a56c6 mesa: Fix error code generation in glReadPixels()
Section 4.3.1, page 220, of OpenGL 3.3 specification explains
the error conditions for glreadPixels():

   "If the format is DEPTH_STENCIL, then values are taken from
    both the depth buffer and the stencil buffer. If there is
    no depth buffer or if there is no stencil buffer, then the
    error INVALID_OPERATION occurs. If the type parameter is
    not UNSIGNED_INT_24_8 or FLOAT_32_UNSIGNED_INT_24_8_REV,
    then the error INVALID_ENUM occurs."

Fixes failing Khronos CTS test packed_depth_stencil_error.test

V2: Avoid code duplication

Cc: <mesa-stable@lists.freedesktop.org>
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2014-04-21 11:20:50 -07:00
Anuj Phogat bd1880dfe8 mesa: Add an error condition in glGetFramebufferAttachmentParameteriv()
From the OpenGL 4.4 spec page 275:
  "If pname is FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE, param will
   contain the format of components of the specified attachment,
   one of FLOAT, INT, UNSIGNED_INT, SIGNED_NORMALIZED, or
   UNSIGNED_NORMALIZED for floating-point, signed integer,
   unsigned integer, signed normalized fixedpoint, or unsigned
   normalized fixed-point components respectively. If no data
   storage or texture image has been specified for the attachment,
   param will contain NONE. This query cannot be performed for a
   combined depth+stencil attachment, since it does not have a
   single format."

Fixes Khronos CTS test: packed_depth_stencil_parameters.test

Khronos Bug# 9170
Cc: <mesa-stable@lists.freedesktop.org>
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2014-04-21 11:20:50 -07:00
Brian Paul 7cb3bbf2cd libgl-gdi: silence unused variable warning when not using LLVM 2014-04-21 09:50:53 -06:00
Brian Paul 1f043cd95a docs: import 10.0.5 release notes and update links 2014-04-21 09:03:32 -06:00
Brian Paul 3fd9943a65 docs: import 10.1.1 release notes, update links 2014-04-21 09:03:32 -06:00
Benjamin Bellec 9b3b9c613f mesa: fix GetStringi error message with correct function name
Signed-off-by: Benjamin Bellec <b.bellec@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Cc: <mesa-stable@lists.freedesktop.org>
2014-04-21 08:44:20 -06:00
Brian Paul 27496af67f st/mesa: fix invalid pointer use in st_texture_get_sampler_view()
The '**used' pointer was pointing into the stObj->sampler_views array.
If 'free' was null, we'd realloc that array, thus making the 'used'
pointer invalid.  This soon led to memory errors.

Just change the pointer to be '*used' so it points directly at the
pipe_sampler_view.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2014-04-21 08:30:46 -06:00
Chris Forbes 9fec560e63 glsl: Fix typo
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
2014-04-21 16:02:02 +12:00
Chris Forbes d63026f62a i965: Use ctx->Texture._MaxEnabledTexImageUnit for upper bound
Avoid looping over 32/48/96 (!!) tex image units every draw, most of
which we don't care about.

Improves performance on everyone's favorite not-a-benchmark by 2.9% on
Haswell.

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2014-04-21 10:13:07 +12:00
Chris Forbes c4a98e76d7 mesa: Track max enabled tex image unit
This gives us a better bound for some hot loops in the drivers than
MAX_COMBINED_TEXTURE_IMAGE_UNITS, which is ridiculously large on modern
hardware, and only getting worse as more shader stages are added.

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2014-04-21 10:12:00 +12:00
Ilia Mirkin ba6dcb3c2b nouveau/codegen: add missing values for OP_TXLQ into the target arrays
Also rework things so that if someone were to add an opcode without
adjusting the values in these arrays, there will be a compilation error.

This fixes a few quadop-related piglit regressions since commit
d5faf8e786.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
2014-04-19 13:23:32 -04:00
Ilia Mirkin 47c19a5819 nvc0: change logic for centering of eng2d blit when downsampling
We want to center the sample. The old code may have been correct given
the limited values of ms_x/y, but the new logic should be more
intuitive. Note that ms_x can only be 1/2 and ms_y can only be 0/1.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
2014-04-19 13:23:32 -04:00
Ilia Mirkin 6d5c3c8260 nv50: use 2d blit when src/dst have same number of samples
The 2D engine should be usable in more cases, but this fixes MS blits
between textures with the same MS settings. Otherwise a single sample is
selected to be the target texel value.

This allows other tests to work that render to a RB and then blit that
to a texture for input into a shader that uses sampler2DMS to verify it.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
2014-04-19 13:23:32 -04:00
Ilia Mirkin 2d2e60bdee gallium/docs: fix PIPE_CAP_ENDIANNESS delimiter, remove trailing spaces
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
2014-04-19 13:23:32 -04:00
Petri Latvala b45f65e760 mesa: update glext.h to version 20140313
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2014-04-18 14:30:57 -07:00
Kenneth Graunke a1273a07ed i965/fs: Implement fs_inst::force_sechalf support on Broadwell.
Back when I originally wrote this code, force_sechalf was only used for
Gen4 code, so I didn't bother hooking it up.  However, it's used more
generally these days.  In particular, we use it for computing
gl_SamplePosition.

Fixes Piglit's spec/ARB_sample_shading/builtin-gl-sample-position tests.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77222
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
2014-04-18 11:57:33 -07:00
Chris Forbes 92840aabf7 glsl: Allow explicit binding on atomics again
As of 943b2d52bf, layout(binding) on an atomic would fail the assertion
here.

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2014-04-18 10:35:05 -07:00
Alex Deucher 7489f3eeda radeonsi: fix num banks selection on SI for dma setup (v2)
The number of banks varies based on the tile mode index
just like CIK.

Bug:
https://bugs.freedesktop.org/show_bug.cgi?id=77533

v2: fix ordering for nbanks calculation for consistency

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2014-04-18 13:24:12 -04:00