Kenneth Graunke [Mon, 22 Feb 2016 23:23:06 +0000 (15:23 -0800)]
anv: Emit 3DSTATE_URB_* via a loop.
Rather than keeping separate {vs,hs,ds,gs}_start fields, we now store an
array indexed by the shader stage (MESA_SHADER_*). The 3DSTATE_URB_*
commands are also sequentially numbered. This makes it easy to just
emit them in a loop.
This simplifies the code a little, and also will make it easier to add
more credible HS and DS code later.
Jason Ekstrand [Wed, 24 Feb 2016 06:02:41 +0000 (22:02 -0800)]
nir/spirv: Allow but warn for a few capabilities
Unfortunately, glslang gives us cull/clip distance and GS streams even if
the shader doesn't use it whenever a shader is declared as version 450.
This is a glslang bug, but we can easily enough ignore it for now.
Jason Ekstrand [Wed, 24 Feb 2016 05:23:06 +0000 (21:23 -0800)]
anv/descriptor_set: Use the correct size for the descriptor pool
The descriptor sizes array gives the total number of each type of
descriptor that will ever be allocated from the pool, not the total amount
that may be in any particular set. In our case, this simply means that we
have to sum a bunch of things up and there we go.
Jason Ekstrand [Wed, 24 Feb 2016 05:01:00 +0000 (21:01 -0800)]
nir/spirv: Add more capabilities
Jason Ekstrand [Wed, 24 Feb 2016 01:04:19 +0000 (17:04 -0800)]
anv/meta: Allocate descriptor pools on-the-fly
We can't use a global descriptor pool like we were because it's not
thread-safe. For now, we'll allocate them on-the-fly and that should work
fine. At some point in the future, we could do something where we
stack-allocate them or allocate them out of one of the state streams.
Jason Ekstrand [Tue, 23 Feb 2016 05:39:14 +0000 (21:39 -0800)]
anv/descriptor_set: Set descriptor type for immuatable samplers
Jason Ekstrand [Tue, 23 Feb 2016 05:20:04 +0000 (21:20 -0800)]
intel/genxml: Update macro documentation
Jason Ekstrand [Tue, 23 Feb 2016 03:19:00 +0000 (19:19 -0800)]
anv/state: Replace a bunch of ANV_GEN with GEN_GEN
Jason Ekstrand [Tue, 23 Feb 2016 01:13:46 +0000 (17:13 -0800)]
anv/descriptor_set: Stop marking everything as having dynamic offsets
Kristian Høgsberg Kristensen [Fri, 12 Feb 2016 06:46:28 +0000 (22:46 -0800)]
anv: Implement descriptor pools
Descriptor pools are an optimization that lets applications allocate
descriptor sets through an externally synchronized object (that is,
unlocked). In our case it's also plugging a memory leak, since we
didn't track all allocated sets and failed to free them in
vkResetDescriptorPool() and vkDestroyDescriptorPool().
Kristian Høgsberg Kristensen [Mon, 22 Feb 2016 18:19:43 +0000 (10:19 -0800)]
anv/x11: Free swapchain images and memory on destroy
Mark Janes [Mon, 22 Feb 2016 19:31:15 +0000 (11:31 -0800)]
vulkan: fix out-of-tree builds
Kristian Høgsberg Kristensen [Mon, 22 Feb 2016 17:14:25 +0000 (09:14 -0800)]
intel/genxml: Add README
I've had people ask about the design of the pack functions, for example,
why aren't we using bitfields. I wrote up a bit of background on why and
how we ended up with the current design and we might as well keep that
with the code.
Nanley Chery [Thu, 18 Feb 2016 22:05:31 +0000 (14:05 -0800)]
anv/meta_blit: Handle compressed textures in anv_CmdCopyImage
As with anv_CmdCopyBufferToImage, compressed textures require special
handling during copies.
Reviewed-by: Kristian Høgsberg Kristensen <kristian.h.kristensen@intel.com>
Jason Ekstrand [Mon, 22 Feb 2016 05:42:33 +0000 (21:42 -0800)]
nir/spirv: Add support for multisampled textures
Jason Ekstrand [Sun, 21 Feb 2016 04:02:37 +0000 (20:02 -0800)]
anv: Fix a typo in apply_dynamic_offsets
shader->num_uniforms is in terms of bytes in i965.
Jason Ekstrand [Sun, 21 Feb 2016 03:29:05 +0000 (19:29 -0800)]
anv: Zero out the WSI array when initializing the instance
Jason Ekstrand [Sat, 20 Feb 2016 18:25:49 +0000 (10:25 -0800)]
isl: Stop including mesa/main/imports.h
It pulls in all sorts of stuff we don't want.
Jason Ekstrand [Sat, 20 Feb 2016 17:31:31 +0000 (09:31 -0800)]
genxml: Add mote includes in the generated headers
Jason Ekstrand [Sat, 20 Feb 2016 17:12:36 +0000 (09:12 -0800)]
anv: Get rid of GENX_FUNC
It was a bad idea.
Jason Ekstrand [Sat, 20 Feb 2016 17:08:27 +0000 (09:08 -0800)]
anv: Switch over to the macros in genxml
Jason Ekstrand [Sat, 20 Feb 2016 16:35:36 +0000 (08:35 -0800)]
intel/genxml: Add a couple of helper headers
Jason Ekstrand [Fri, 19 Feb 2016 16:04:32 +0000 (08:04 -0800)]
genxml: Stop using unicode in the pack generator
This causes python problems and problems when people don't have a locale
set properly in their shell.
Dave Airlie [Wed, 17 Feb 2016 02:23:18 +0000 (12:23 +1000)]
anv: fix warning about unused width variable.
We don't use width outside the debug clause here.
Jason Ekstrand [Thu, 18 Feb 2016 21:54:15 +0000 (13:54 -0800)]
anv/pipeline: Fix a typo in the pipeline layout code
Jason Ekstrand [Thu, 18 Feb 2016 21:37:01 +0000 (13:37 -0800)]
anv/allocator: Set is_winsys_bo to false for block pool BOs
Mark Janes [Thu, 18 Feb 2016 20:30:27 +0000 (12:30 -0800)]
vulkan: fix out-of-tree build
We need to be able to find the generated gen*pack.h headers.
Acked-by: Jason Ekstrand <jason.ekstrand@intel.com>
Jason Ekstrand [Thu, 18 Feb 2016 19:44:26 +0000 (11:44 -0800)]
anv/pipeline: Use nir's num_images for allocating image_params
Jason Ekstrand [Thu, 18 Feb 2016 19:42:36 +0000 (11:42 -0800)]
nir/gather_info: Count textures and images
Jason Ekstrand [Thu, 18 Feb 2016 19:04:53 +0000 (11:04 -0800)]
anv/pipeline: Don't leak the binding map
Jason Ekstrand [Thu, 18 Feb 2016 18:44:06 +0000 (10:44 -0800)]
anv/formats: Don't use a compound literal to initialize a const array
Doing so makes older versions of GCC rather grumpy. Newere GCC fixes this,
but using a compound literal isn't really gaining us anything anyway.
Jason Ekstrand [Thu, 18 Feb 2016 18:37:59 +0000 (10:37 -0800)]
Move the intel vulkan driver to src/intel/vulkan
Jason Ekstrand [Thu, 18 Feb 2016 18:34:47 +0000 (10:34 -0800)]
Move isl to src/intel
Jason Ekstrand [Thu, 18 Feb 2016 18:19:02 +0000 (10:19 -0800)]
vulkan: Move XML and generator into src/intel/genxml
Kristian Høgsberg Kristensen [Thu, 18 Feb 2016 18:21:08 +0000 (10:21 -0800)]
anv/meta: Initialize blend state for the right attachment
We were always initializing only RT 0. We need to initialize the RT
we're creating the clear pipeline for.
Kristian Høgsberg Kristensen [Thu, 18 Feb 2016 01:27:25 +0000 (17:27 -0800)]
anv/meta: Don't use the blit ds layout in resolve code
Jason Ekstrand [Thu, 18 Feb 2016 04:16:11 +0000 (20:16 -0800)]
Delete nir_lower_samplers.cpp
Somehow, in one of the merges with mesa master, the old file must have been
kept when nir_lower_samplers.cpp was moved to nir_lower_samplers.c.
Jason Ekstrand [Thu, 18 Feb 2016 02:03:21 +0000 (18:03 -0800)]
anv: Gut anv_pipeline_layout
Almost none of the data in anv_pipeline_layout is used anymore thanks to
doing real layout in the pipeline itself.
Kristian Høgsberg Kristensen [Wed, 3 Feb 2016 20:14:28 +0000 (12:14 -0800)]
anv: Build the real pipeline layout in the pipeline
This gives us the chance to pack the binding table down to just what the
shaders actually need. Some applications use very large descriptor sets
and only ever use a handful of entries. Compacted binding tables should be
much more efficient in this case. It comes at the down-side of having to
re-emit binding tables every time we switch pipelines, but that's
considered an acceptable cost.
Jason Ekstrand [Thu, 18 Feb 2016 01:44:18 +0000 (17:44 -0800)]
nir/spirv: Add some more capabilities
Jason Ekstrand [Wed, 17 Feb 2016 21:46:44 +0000 (13:46 -0800)]
anv/pipeline: Delete out-of-bounds fragment shader outputs
Jason Ekstrand [Wed, 17 Feb 2016 21:46:25 +0000 (13:46 -0800)]
nir: Add a helper for getting the one function from a shader
Jason Ekstrand [Wed, 17 Feb 2016 21:45:24 +0000 (13:45 -0800)]
nir: Add a nir_foreach_variable_safe helper
Jason Ekstrand [Wed, 17 Feb 2016 21:23:45 +0000 (13:23 -0800)]
i965/nir: Do lower_io late for fragment shaders
Jason Ekstrand [Wed, 17 Feb 2016 20:05:03 +0000 (12:05 -0800)]
anv/gen7_pipeline: Set WriteDisable = true if we have no color attachments
Jason Ekstrand [Wed, 17 Feb 2016 19:54:42 +0000 (11:54 -0800)]
anv/gen8_pipeline: Default color attachments to WriteDisable = true
Jason Ekstrand [Tue, 16 Feb 2016 20:21:55 +0000 (12:21 -0800)]
anv: Pull StencilBufferWriteEnable from both sides
Nanley Chery [Thu, 18 Feb 2016 01:20:03 +0000 (17:20 -0800)]
anv: Ignore unused dimensions in vkCreateImage's anv_image
We ignore unused dimensions in the isl surface; do the same for the
resulting anv_image.
Reviewed-by: Kristian Høgsberg Kristensen <kristian.h.kristensen@intel.com>
Kristian Høgsberg Kristensen [Wed, 17 Feb 2016 23:28:52 +0000 (15:28 -0800)]
spirv: Fix SpvOpFwidth, SpvOpFwidthFine and SpvOpFwidthCoarse
"Result is the same as computing the sum of the absolute values of
OpDPdx and OpDPdy on P."
We were doing sum of absolute values of OpDPdx of P and OpDPdx of NULL.
Kristian Høgsberg Kristensen [Wed, 17 Feb 2016 23:19:07 +0000 (15:19 -0800)]
anv: Remove hacky PIPE_CONTROL in vkCmdEndRenderPass()
The vkCmdPipelineBarrier() command should work as intended now and we
need to pull the plug on this old hack.
Kristian Høgsberg Kristensen [Wed, 17 Feb 2016 23:09:40 +0000 (15:09 -0800)]
anv: Rework vkCmdPipelineBarrier()
We don't need to look at the stage flags, as we don't really support any
fine-grained, stage-level synchronization. We have to do two
PIPE_CONTROLs in case we're both flushing and
invalidating.
Additionally, if we do end up doing two PIPE_CONTROLs, the first,
flusing one also has to stall and wait for the flushing to finish, so we
don't re-dirty the caches with in-flight rendering after the second
PIPE_CONTROL invalidates.
Kristian Høgsberg Kristensen [Wed, 17 Feb 2016 20:21:46 +0000 (12:21 -0800)]
anv: Ignore unused dimensions in vkCreateImage
We would assert on unused dimensions (eg extent.depth for
VK_IMAGE_TYPE_2D) not being 1, but the specification doesn't put any
constraints on those. For example, for VK_IMAGE_TYPE_1D:
"If imageType is VK_IMAGE_TYPE_1D, the value of extent.width must be
less than or equal to the value of
VkPhysicalDeviceLimits::maxImageDimension1D, or the value of
VkImageFormatProperties::maxExtent.width (as returned by
vkGetPhysicalDeviceImageFormatProperties with values of format,
type, tiling, usage and flags equal to those in this structure) -
whichever is higher"
We'll fix up the arguments to isl to keep isl strict in what it expects.
Kristian Høgsberg Kristensen [Wed, 17 Feb 2016 19:19:56 +0000 (11:19 -0800)]
anv: Set correct write domain on window system BOs
We need to make sure GEM understands that we're writing to the BO, in
case it needs to synchronize with other rings (blitter use in display
server, for example).
Kristian Høgsberg Kristensen [Wed, 17 Feb 2016 07:19:27 +0000 (23:19 -0800)]
Revert "anv: Disable snooping for allocator pools again"
This reverts commit
c136672c593399e831db0da8b8cc6d8a5d73c1d3.
We still have the intermittent missing flush for VkEvent in certain
vulkancts cases:
piglit.deqp-vk.api.command_buffers.execute_large_primary
piglit.deqp-vk.api.command_buffers.submit_count_non_zero,
Let's reenable the snooping until we figure out the root cause.
Kristian Høgsberg Kristensen [Wed, 17 Feb 2016 07:23:17 +0000 (23:23 -0800)]
anv: Make driver and icd file installable
Change the name of the .so to libvulkan_intel.so and add an installable
icd with the installed paths. Keep the icd file with build-tree paths,
but rename to dev_icd.json to make it clear that it's for development
purposes.
Kristian Høgsberg Kristensen [Tue, 16 Feb 2016 05:24:40 +0000 (21:24 -0800)]
anv: Revise PhysicalDeviceFeatures and remove FINISHME
Philipp Zabel [Tue, 16 Feb 2016 21:55:33 +0000 (22:55 +0100)]
anv: pCreateInfo->pApplicationInfo parameter to vkCreateInstance may be NULL
Fix a NULL pointer dereference in anv_CreateInstance in case
the pApplicationInfo field of the supplied VkInstanceCreateInfo
structure is NULL [1].
[1] https://www.khronos.org/registry/vulkan/specs/1.0/apispec.html#VkInstanceCreateInfo
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Jason Ekstrand [Tue, 16 Feb 2016 16:02:17 +0000 (08:02 -0800)]
anv/icd.json: Update the ABI version
Jason Ekstrand [Tue, 16 Feb 2016 15:43:21 +0000 (07:43 -0800)]
anv: Pull Khronos stuff from the README
Kristian Høgsberg Kristensen [Tue, 16 Feb 2016 01:57:03 +0000 (17:57 -0800)]
anv/genxml: Include MBO bits for gen7 and gen75
Kristian Høgsberg Kristensen [Tue, 16 Feb 2016 01:40:15 +0000 (17:40 -0800)]
anv: Add missing gen75_cmd_buffer_set_subpass() prototype
Adam Jackson [Mon, 15 Feb 2016 21:20:01 +0000 (16:20 -0500)]
anv: Bump to 1.0.3
Probably this should be picked up from <vulkan.h> directly, or we should
just assume that any 1.0.x is legal.
Kristian Høgsberg Kristensen [Mon, 15 Feb 2016 07:03:13 +0000 (23:03 -0800)]
anv/gen7: Make disabling the FS work
We disable the fragment shader for depth/stencil-only pipelines. This
commit makes that work for gen7.
Kristian Høgsberg Kristensen [Mon, 15 Feb 2016 07:01:42 +0000 (23:01 -0800)]
anv: Deduplicate render pass code
This lets us share the renderpass code and depth/stencil state code
between gen 7 and gen 8.
Kristian Høgsberg Kristensen [Mon, 15 Feb 2016 06:56:23 +0000 (22:56 -0800)]
anv/gen7: Fix pipeline selection in init_device_state()
We need the 3D pipeline for the initial setup, not GPGPU.
Kristian Høgsberg Kristensen [Mon, 15 Feb 2016 06:52:37 +0000 (22:52 -0800)]
anv/gen7: Set 3DSTATE_SF depth buffer format correctly
We need to pull this from the render pass information at state flush
time.
Kristian Høgsberg Kristensen [Mon, 15 Feb 2016 06:46:25 +0000 (22:46 -0800)]
anv/gen7: Call flush_pipeline_select_3d() from CmdBeginRenderPass
Kristian Høgsberg Kristensen [Mon, 15 Feb 2016 06:45:41 +0000 (22:45 -0800)]
anv: Share flush_pipeline_select_3d() between gen7 and gen8
Kristian Høgsberg Kristensen [Sun, 14 Feb 2016 22:17:08 +0000 (14:17 -0800)]
anv: Fix warning 3DSTATE_VERTEX_ELEMENTS setup
This is a little more subtle. If elem_count is 0, nothing else happens
in this function, so we return early to avoid warning about
uninitialized 'p'.
Kristian Høgsberg Kristensen [Sun, 14 Feb 2016 21:20:06 +0000 (13:20 -0800)]
anv: Fix misc simple warnings
Jason Ekstrand [Mon, 15 Feb 2016 20:44:39 +0000 (12:44 -0800)]
anv/meta_resolve: Set origin_upper_left on gl_FragCoord
It's required by the spec and any shaders that don't set it will be broken.
I'm not really sure how multisampling was even working before...
Jason Ekstrand [Sat, 13 Feb 2016 05:34:59 +0000 (21:34 -0800)]
nir: Get rid of the C++ NIR_SRC/DEST_INIT macros
These were originally added to reduce compiler warnings but aren't really
needed. Getting rid of them reduces the diff between the Vulkan branch and
master, so we might as well.
Kristian Høgsberg Kristensen [Fri, 12 Feb 2016 23:10:22 +0000 (15:10 -0800)]
anv: Disable snooping for allocator pools again
The race we were seeing on cherryview was caused by the multi-submit
problem with fences. We can now turn snooping off again an rely on
clflush and we intended.
Kristian Høgsberg Kristensen [Fri, 12 Feb 2016 23:08:09 +0000 (15:08 -0800)]
anv: Submit fence bo only after all command buffers
We were submitting the fence bo after each command buffer in a multi
command buffer submit, causing us to occasionally complete the fence too
early.
Kristian Høgsberg Kristensen [Wed, 10 Feb 2016 17:43:03 +0000 (09:43 -0800)]
anv: Implement VkPipelineCache
We hash the input SPIR-V, specialization constants, entrypoint and the
shader key using SHA1 to determine a unique identifier for the
combination. A VkPipelineCache is then a hash table mapping these
identifiers to the corresponding prog_data and kernel data.
Chad Versace [Fri, 12 Feb 2016 19:27:19 +0000 (11:27 -0800)]
anv/meta_blit: Remove references to clearing
Long ago, the blit code used to handle clearing and blitting.
- Fix any comments that refer to clearing.
- Rename shader var 'attr' to 'tex_pos'. The name 'attr' is an artifact
of the time when the shader was used for blitting as well as clearing.
Chad Versace [Fri, 12 Feb 2016 18:27:58 +0000 (10:27 -0800)]
anv/meta_blit: Coalesce glsl_vec4_type vars
Just a refactor. No behavior change.
Several expressions have the same value: they point to
glsl_vec4_type(). Coalesce them into a single variable.
Jason Ekstrand [Fri, 12 Feb 2016 19:00:42 +0000 (11:00 -0800)]
anv/device: clflush simple batches if !LLC
Jason Ekstrand [Fri, 12 Feb 2016 19:00:08 +0000 (11:00 -0800)]
anv: Add a clfush_range helper function
Jason Ekstrand [Fri, 12 Feb 2016 18:40:24 +0000 (10:40 -0800)]
nir/spirv/glsl: Clean up the row-skipping swizzle logic a bit
Chad Versace [Fri, 12 Feb 2016 17:55:32 +0000 (09:55 -0800)]
anv/meta: Move blit code to anv_meta_blit.c
The clear code lived in anv_meta_clear.c. The resolve code in
anv_meta_resolve.c. Only the blit code lived in anv_meta.c, alongside
the shareed meta code.
This is just a copy-paste patch. No change in behavior.
Chad Versace [Wed, 10 Feb 2016 21:36:56 +0000 (13:36 -0800)]
anv/meta: Hardcode smooth texcoord interpolation in blit shaders
Trivial cleanup. No change in behavior.
Function argument 'attr_flat', in anv_meta.c:build_nir_vertex_shader(),
was always false.
Jason Ekstrand [Fri, 12 Feb 2016 02:41:04 +0000 (18:41 -0800)]
anv/device: Use a normal BO in submit_simple_batch
Jason Ekstrand [Fri, 12 Feb 2016 05:18:02 +0000 (21:18 -0800)]
anv: Add a vk_icdGetInstanceProcAddr entrypoint
Aparently there are some issues in symbol resolution if an application
packages its own loader and you have a system-installed one. I don't
really understand the details, but it's not onorous to add.
Jason Ekstrand [Fri, 12 Feb 2016 02:57:37 +0000 (18:57 -0800)]
anv/event: Use a 64-bit value
The immediate write from PIPE_CONTROL is 64-bits at least on BDW. This
used to work on 64-bit archs because the compiler would align the following
anv_state struct up for us. However, in 32-bit builds, they overlap and it
causes problems.
Jason Ekstrand [Thu, 11 Feb 2016 02:07:55 +0000 (18:07 -0800)]
gen8/pipeline: Properly set bits in PS_EXTRA for W, depth, and samaple mask
Jason Ekstrand [Thu, 11 Feb 2016 22:27:15 +0000 (14:27 -0800)]
nir/spirv: Allow the clip distance capability.
Jason Ekstrand [Thu, 11 Feb 2016 23:11:38 +0000 (15:11 -0800)]
gen8/pipeline: Pull gs_vertex_count from prog_data
Jason Ekstrand [Thu, 11 Feb 2016 23:09:30 +0000 (15:09 -0800)]
Merge remote-tracking branch 'mesa-public/master' into vulkan
Jason Ekstrand [Thu, 11 Feb 2016 05:57:52 +0000 (21:57 -0800)]
i965/gs: Pass VerticesIn though prog_data
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Jason Ekstrand [Thu, 11 Feb 2016 05:27:57 +0000 (21:27 -0800)]
i965/fs: Pass usage of depth, W, and sample mask through prog_data
We really need to stop pulling information directly out of shaders for
state setup. For one thing, if we want any sort of an on-disk shader
cache, having all of this metadata in one place is going to be crucial.
Also, passing it all through prog_data cleans up the compiler <-> state
setup API substantially.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Jason Ekstrand [Thu, 11 Feb 2016 05:20:01 +0000 (21:20 -0800)]
i965/fs: Refactor setup_payload_gen6 to assume FS
It's extremely FS specific so the fact that we have a stage check in the
middle of it is rather bogus. While were here, we rename
setup_payload_gen4 and setup_payload_gen6 to make it obvious that they are
both FS specific.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Samuel Pitoiset [Thu, 11 Feb 2016 22:05:04 +0000 (23:05 +0100)]
nv50,nvc0: remove unused parameter in nvXX_state_validate()
This 'words' parameter is there since 2011 but it has never been used.
While we are at it, get rid of the extern declaration.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Timothy Arceri [Thu, 11 Feb 2016 04:14:21 +0000 (15:14 +1100)]
glsl: don't validate interface blocks twice
We already check for opaque types so don't recheck for atomics
and images.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Timothy Arceri [Thu, 11 Feb 2016 04:45:05 +0000 (15:45 +1100)]
glsl: remove duplicate embedded struct validation
Commit
c98deb18d5836f in 2010 disallowed embedded struct definitions
in ES. Then in 2013
d9bb8b7b56ce65b disallowed it for everything but
GLSL 1.10.
Commit
c98deb18d5836f seemed the cleanest way to do the check so its
been extended to cover GL and the other version has been removed.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Jose Fonseca [Thu, 11 Feb 2016 11:36:17 +0000 (11:36 +0000)]
include,gallium: Remove pre-MSVC 2013 compatibility.
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Jose Fonseca [Thu, 11 Feb 2016 11:07:49 +0000 (11:07 +0000)]
scons: Eliminate MSVC2008 compatibility.
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Jose Fonseca [Thu, 11 Feb 2016 11:07:33 +0000 (11:07 +0000)]
configure: Eliminate MSVC2008 compatibility.
We no longer need to build any part of Mesa with Windows SDK 7.0.7600 or
MSVC 2008. MSVC 2013 will be the oldest we support.
In practice this means people are now free to declare variables in the
middle of blocks, on the whole Mesa tree.
Care should still be taken with variable length arrays and void pointer
arithmetic.
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Hella-acked-by: Ian Romanick <ian.d.romanick@intel.com>
Chris Forbes [Thu, 11 Feb 2016 06:03:56 +0000 (19:03 +1300)]
i965: ir: dump floats as %-g rather than %f, so we can see denormals
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Ben Widawsky <benjamin.widawsky@intel.com>
Jordan Justen [Wed, 10 Feb 2016 17:56:23 +0000 (09:56 -0800)]
i965/gen7: Require kernel cmd_parser 5 for ARB_compute_shader
The indirect dispatch registers were whitelisted in command parser
version 5. (Version 5 is available as of Linux 4.4)
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>