- 22 Jun, 2016 40 commits
-
-
Edward O'Callaghan authored
Signed-off-by:
Edward O'Callaghan <funfunctor@folklore1984.net>
-
Christian Gmeiner authored
Signed-off-by:
Christian Gmeiner <christian.gmeiner@gmail.com> Reviewed-by:
Nicolai Hähnle <nicolai.haehnle@amd.com> Reviewed-by:
Marek Olšák <marek.olsak@amd.com>
-
Jason Ekstrand authored
This solves a race condition where we can end up having different stages stomp on each other because they're all trying to scratch in the same BO but they have different views of its layout. Signed-off-by:
Jason Ekstrand <jason@jlekstrand.net> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
While we're here, we also fixup MEDIA_VFE_STATE and rename the field in 3DSTATE_VS on gen6-7.5 to be consistent with the others. Signed-off-by:
Jason Ekstrand <jason@jlekstrand.net> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
Signed-off-by:
Jason Ekstrand <jason@jlekstrand.net> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
The pack header generation scripts can't handle the case where you have two addresses in the same dword; they just take whatever is the last one. This meant that the MCS address wasn't properly getting handled. Since we don't care about append counters, we can just re-arrange the XML for now. Reviewed-by:
Chad Versace <chad.versace@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
ISL was being a bit too clever for its own good and lowering the format for us. This is all well and good *if* we always want to lower it. However, the GL driver selectively lowers the format depending on whether the surface is write-only or not. Reviewed-by:
Chad Versace <chad.versace@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
Ivy Bridge and above can handle up to 2^31 elements for RAW buffer surfaces. Reviewed-by:
Chad Versace <chad.versace@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
Reviewed-by:
Chad Versace <chad.versace@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
Acked-by:
Chad Versace <chad.versace@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
This field is ignored by the hardware in this case and, on very large 1-D textures, it can end up being larger than the maximum allowed value. Reviewed-by:
Chad Versace <chad.versace@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
This matches better what happens on gen8 where the "Tiled Surface" and "Tile Walke" bits are combined into a single two-bit value. This is also more consistent with what the GL driver does. Reviewed-by:
Chad Versace <chad.versace@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
This hasn't ever been a problem in the past but it is recommended by the hardware docs. Reviewed-by:
Chad Versace <chad.versace@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
It seems safe to set it all the time, but this reduces the diff between the way i965 does it and what ISL does. Reviewed-by:
Chad Versace <chad.versace@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
For depth/stencil 1-D textures on SKL, we want them layed out in the old format that has been used since gen4. In order for the surface state fill-out code to handle, this it needs to distinguish based on layout rather than just dimensionality. Reviewed-by:
Chad Versace <chad.versace@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
This fixes 688 Vulkan CTS tests on Haswell. Reviewed-by:
Chad Versace <chad.versace@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
Reviewed-by:
Chad Versace <chad.versace@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
The docs specify that this only matters for render targets and surfaces used with typed dataport messages. On some platforms (gen4-6) the Depth field has more bits than RenderTargetViewExtent so we can have textures with more levels than we can render to. Reviewed-by:
Chad Versace <chad.versace@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
According to the PRM, you can't set SurfaceArray for 3D or buffer textures. There doesn't seem to be a good reason not to set it when we can. On the other hand, if we don't set it we can end up getting strange results for 1-layer array textures such as textureSize() returning the wrong results. Reviewed-by:
Chad Versace <chad.versace@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
We already set the bit in the few cases where it's required by the docs so there's no need to set it all the time. This has no noticable perf impact for Dota 2 on Vulkan with the time demo I have. Reviewed-by:
Chad Versace <chad.versace@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
This commit switches clear colors to use #if's instead of a C if. This lets us properly handle SNB where the clear color field doesn't exist. Reviewed-by:
Chad Versace <chad.versace@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
This moves the #if's around so that halign and valign have different sets of #if conditions. This also prepares us for SNB because isl_to_gen_halign is not defined at all on gen6. Reviewed-by:
Chad Versace <chad.versace@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
Reviewed-by:
Chad Versace <chad.versace@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
This is purely cosmetic, but it makes things look a bit more readable. Reviewed-by:
Chad Versace <chad.versace@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
This is purely cosmetic, but it makes things look a bit more readable. Reviewed-by:
Chad Versace <chad.versace@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
This is purely cosmetic, but it makes things look a bit more readable. Reviewed-by:
Chad Versace <chad.versace@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
They're already zero-initialized and we have no plans of doing anything more interesting with them. Reviewed-by:
Chad Versace <chad.versace@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
While designated initializers are nice, they also force us to put some things in the initializer and some things later. Surface state setup is complicated enough that this really hurts readability in the long run. Reviewed-by:
Chad Versace <chad.versace@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
This is what gen7 does and it's nice to have a prefix Reviewed-by:
Chad Versace <chad.versace@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
Otherwise, we end up with a bogus value in the third component. On gen6-7 where we always use 2D textures, this can cause problems if the SurfaceArray bit is set in the SURFACE_STATE. Acked-by:
Chad Versace <chad.versace@intel.com>
-
Jason Ekstrand authored
There's no real reason why we shouldn't set this bit. It does affect how the sampler operates a bit but since you can have a 2D non-array view of a 2D_ARRAY texture that distinction is very weak. Also, this is what ISL will do and we would like this change to be isolated from using ISL. Reviewed-by:
Chad Versace <chad.versace@intel.com>
-
Jason Ekstrand authored
The PRM states that the values put in Width, Height, and Depth should be various bits from the value size - 1. We seem to have done this wrong more-or-less from the start. Reviewed-by:
Chad Versace <chad.versace@intel.com> Cc: "11.1 11.2 12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
This hasn't been used since 1cfb4bc8 where we deleted the meta stencil blit path. Reviewed-by:
Chad Versace <chad.versace@intel.com>
-
Jason Ekstrand authored
Previously, we were incrementing length but not actually putting anything in the Y coordinate. This meant that 1-D TXF operations had a garbage array index. If the surface is emitted as 1-D non-array, the coordinate gets discarded and it works fine. If it happens to be bound as an array surface, it may count as an out-of-bounds array access and you get zero. Reviewed-by:
Ian Romanick <ian.d.romanick@intel.com> Cc: "11.1 11.2 12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
Reviewed-by:
Chad Versace <chad.versace@intel.com> Reviewed-by:
Anuj Phogat <anuj.phogat@gmail.com> Cc: "11.1 11.2 12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
We were adding in the base which is wrong because the values given in the miptree are relative to zero and not the base layer/level. Reviewed-by:
Chad Versace <chad.versace@intel.com> Reviewed-by:
Topi Pohjolainen <topi.pohjolainen@intel.com> Cc: "11.1 11.2 12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
The RenderTargetViewExtent field of RENDER_SURFACE_STATE is supposed to be set to the depth of a 3-D texture when rendering. Unfortunatley, that field is only 9 bits on Sandy Bridge and prior so we can't actually bind a 3-D texturing for rendering if it has depth > 512. On Ivy Bridge, this field was bumpped to 11 bits so we can go all the way up to 2048. On Iron Lake and prior, we don't support layered rendering and we use OffsetX/Y hacks to render to particular layers so 2048 is ok there too. Signed-off-by:
Jason Ekstrand <jason@jlekstrand.net> Reviewed-by:
Ian Romanick <ian.d.romanick@intel.com> Cc: "11.1 11.2 12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
This is basically a direct translation of what we do for gen7. Signed-off-by:
Jason Ekstrand <jason@jlekstrand.net> Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83036 Cc: "11.1 11.2 12.0" <mesa-stable@lists.freedesktop.org>
-
Jason Ekstrand authored
This makes texture views sort-of work. It doesn't add full texture view support for gen4-5 but it is enough to fix the GL_ARB_copy_image formats piglit test on Iron Lake. Signed-off-by:
Jason Ekstrand <jason@jlekstrand.net> Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83036 Cc: "11.1 11.2 12.0" <mesa-stable@lists.freedesktop.org>
-
Kenneth Graunke authored
Our previous code worked for desktop GL, and ES without geometry or tessellation shaders. But those features require fancier point size handling. Fortunately, we can use one rule for all APIs. Fixes a number of dEQP tests with EXT_tessellation_shader enabled: dEQP-GLES31.functional.tessellation_geometry_interaction.point_size.* Signed-off-by:
Kenneth Graunke <kenneth@whitecape.org> Acked-by:
Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net>
-