[Mesa-dev] [PATCH 0/4] spirv: Support doubles in some builtin functions

Neil Roberts nroberts at igalia.com
Wed Mar 21 19:34:36 UTC 2018


This adds support for doubles in some of the builtin functions. The
last two patches have been posted already and are a v2 based on
Jason’s feedback.

These patches come out of testing using the ARB_gl_spirv branch of
Mesa and Piglit. However they also affect Vulkan and can be tested
with VkRunner using the test branch here:

https://github.com/Igalia/vkrunner/tree/tests

The corresponding tests can be run with:

./src/vkrunner \
     examples/{face-forward,reflect,refract,isinf}-double.shader_test \
     examples/refract-double-exp32.shader_test

Neil Roberts (4):
  nir/builder: Add a nir_imm_floatN_t helper
  spirv: Use nir_imm_floatN_t for constants for GLSL450 builtins
  spirv: Add a 64-bit implementation of OpIsInf
  spirv: Accept doubles in FaceForward, Reflect and Refract

 src/compiler/nir/nir_builder.h   | 13 +++++++++++++
 src/compiler/spirv/vtn_alu.c     |  7 ++++---
 src/compiler/spirv/vtn_glsl450.c | 24 +++++++++++++++++++-----
 3 files changed, 36 insertions(+), 8 deletions(-)

-- 
2.14.3



More information about the mesa-dev mailing list