packages feed

fir-0.1.0.0: test/Tests/Definitions/OriginLowerLeft.hs

{-# LANGUAGE BlockArguments   #-}
{-# LANGUAGE DataKinds        #-}
{-# LANGUAGE PolyKinds        #-}
{-# LANGUAGE RebindableSyntax #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeOperators    #-}

module Tests.Definitions.OriginLowerLeft where

-- fir
import FIR
import Math.Linear

------------------------------------------------
-- Vulkan does not allow fragment shaders with a lower-left origin

type Defs =
  '[ "out_col" ':-> Output     '[ Location 0 ] ( V 4 Float )
   , "main"    ':-> EntryPoint '[ OriginLowerLeft ] Fragment
   ]

program :: Module Defs
program = Module do
  entryPoint @"main" @Fragment do
    put @"out_col" ( Vec4 0 0 0 1 )