https://github.com/shader-slang/slang
Revision d1b45f3059e100d096327eb178c1bac365e564f1 authored by Tim Foley on 07 November 2017, 19:57:48 UTC, committed by GitHub on 07 November 2017, 19:57:48 UTC
- During IR emit, treat a "select" expression (`?:` operator) like any other `InvokeExpr`, since it will have an `__intrinsic_op` modifier attached to turn it into a `select` instruction.

- During HLSL/GLSL emit from IR, turn a `select` instruction into a `?:` expression

- Also add support for the `neg` instruction during HLSL/GLSL emit

Note that right now we are assuming HLSL semantics for `?:` where it does not short-circuit. Correctly handling the GLSL case would require going back to special-case codegen for `SelectExpr`, but we can cross that bridge when we come to it.
1 parent 9919c82
History
Tip revision: d1b45f3059e100d096327eb178c1bac365e564f1 authored by Tim Foley on 07 November 2017, 19:57:48 UTC
IR: support for select and negate (#257)
Tip revision: d1b45f3
File Mode Size
build
docs
examples
external
source
tests
tools
.gitattributes -rw-r--r-- 95 bytes
.gitignore -rw-r--r-- 398 bytes
.gitmodules -rw-r--r-- 107 bytes
.travis.yml -rw-r--r-- 1.6 KB
CODE_OF_CONDUCT.md -rw-r--r-- 3.1 KB
LICENSE -rw-r--r-- 1.1 KB
Makefile -rw-r--r-- 6.3 KB
README.md -rw-r--r-- 6.2 KB
appveyor.yml -rw-r--r-- 3.5 KB
slang.h -rw-r--r-- 35.4 KB
slang.sln -rw-r--r-- 9.1 KB
test.bat -rw-r--r-- 1.4 KB

README.md

back to top