-
Notifications
You must be signed in to change notification settings - Fork 569
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add --relax-float-ops and --convert-relaxed-to-half #2808
Conversation
11e20fb
to
e0b803f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here is the first part of my review. Something came up and will not finish it today.
7dcf46b
to
c79f657
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have still not looked at the convert to half pass, but I have finished with the rest.
I think I have addressed all concerns to this point. |
90c1d57
to
1c79ee3
Compare
The first pass applies the RelaxedPrecision decoration to all executable instructions with float32 based type results. The second pass converts all executable instructions with RelaxedPrecision result to the equivalent float16 type, inserting converts where necessary.
Roll third_party/glslang/ 56f61cc..664ad41 (2 commits) KhronosGroup/glslang@56f61cc...664ad41 $ git log 56f61cc..664ad41 --date=short --no-merges --format='%ad %ae %s' 2019-09-05 cepheus Fix KhronosGroup#1879: Check for valid variable before checking for unsized arrays. 2019-09-04 greg Update spirv-tools and spriv-headers known good. Roll third_party/googletest/ 565f1b848..3f05f651a (3 commits) google/googletest@565f1b8...3f05f65 $ git log 565f1b848..3f05f651a --date=short --no-merges --format='%ad %ae %s' 2019-09-05 absl-team Googletest export 2019-09-05 absl-team Googletest export 2019-08-29 krystian.kuzniarek Googletest export Roll third_party/spirv-cross/ a06997a6a..b32a1b415 (16 commits) KhronosGroup/SPIRV-Cross@a06997a...b32a1b4 $ git log a06997a6a..b32a1b415 --date=short --no-merges --format='%ad %ae %s' 2019-09-06 wadetb MSL: Fix array copies to/from interpolators 2019-09-06 post Run format_all.sh. 2019-09-05 post Refactor into stronger types in public API. 2019-09-06 post Add dynamic offsets to C API. 2019-09-06 post Fix some issues on certain compilers. 2019-09-05 cdavis MSL: Support dynamic offsets for buffers in argument buffers. 2019-09-04 cdavis MSL: Force storage images on iOS to use discrete descriptors. 2019-09-05 lifeng.pan Fix ParsedIR::mark_used_as_array_length(uint32_t id) 2019-09-04 post Add test case for interlocks in control flow. 2019-09-04 post Make sure not to propagate loads outside interlock region. 2019-09-04 post Add interlock test for split functions doing begin/end. 2019-09-04 post Deal with complex interlock cases in GLSL. 2019-09-04 post Add test shader for simple case of interlocked callstack. 2019-09-04 post Deal with call stacks when analyzing access. 2019-09-04 post Analyze complex cases for fragment interlocks. 2019-08-04 cdavis Support the SPV_EXT_fragment_shader_interlock extension. Roll third_party/spirv-tools/ b54d950..76261e2 (10 commits) KhronosGroup/SPIRV-Tools@b54d950...76261e2 $ git log b54d950..76261e2 --date=short --no-merges --format='%ad %ae %s' 2019-09-06 stevenperron Replace CubeFaceCoord and CubeFaceIndexAMD (KhronosGroup#2840) 2019-09-05 stevenperron Fold Min, Max, and Clamp instructions. (KhronosGroup#2836) 2019-09-05 stevenperron Replace uses of SPV_AMD_shader_trinary_minmax extension (KhronosGroup#2835) 2019-09-04 zoddicus For WebGPU<->Vulkan optimization, set correct execution environment (KhronosGroup#2834) 2019-09-04 40687079+rumblehhh Export SPIRV-Tools targets on installation (KhronosGroup#2785) 2019-09-04 jmadill GN: Add Chromium GoogleTest deps. (KhronosGroup#2832) 2019-09-03 stevenperron Upadate CHANGES 2019-09-03 greg Instrument: Be sure Float16 capability on when generating float16 null (KhronosGroup#2831) 2019-09-03 greg Add --relax-float-ops and --convert-relaxed-to-half (KhronosGroup#2808) 2019-09-03 jmadill GN: Make SPIRV-Tools target use public_deps. (KhronosGroup#2828) Created with: roll-dep third_party/effcee third_party/glslang third_party/googletest third_party/re2 third_party/spirv-cross third_party/spirv-headers third_party/spirv-tools
The first pass applies the RelaxedPrecision decoration to all executable
instructions with float32 based type results. The second pass converts
all executable instructions with RelaxedPrecision result to the equivalent
float16 type, inserting converts where necessary.