diff options
-rw-r--r-- | chickadee/graphics/seagull.scm | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/chickadee/graphics/seagull.scm b/chickadee/graphics/seagull.scm index 515c9e1..c5452b0 100644 --- a/chickadee/graphics/seagull.scm +++ b/chickadee/graphics/seagull.scm @@ -39,9 +39,8 @@ ;; ;; TODO: ;; - Loops -;; - discard ;; - (define ...) form -;; - struct field aliases (rgba for vec4, for example) +;; - struct field aliases (rgba for vec4, for example) maybe a bad idea?? ;; - Scheme shader type -> GLSL struct translation ;; - Dead code elimination (error when a uniform is eliminated) ;; - User defined structs @@ -504,6 +503,10 @@ (expand:cond clauses stage env)) (('case key clauses ...) (expand:case key clauses stage env)) + (('discard) + (if (eq? stage 'fragment) + '(outputs) + (seagull-syntax-error "discard not allowed in vertex shader" exp expand))) ;; Primitive calls: (((? primitive-call-for-stage? operator) args ...) (expand:primitive-call operator args stage env)) |