The varjo Reference Manual

Next: , Previous: , Up: (dir)   [Contents][Index]

The varjo Reference Manual

This is the varjo Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Thu Sep 15 06:27:52 2022 GMT+0.

Table of Contents


1 Introduction

Varjo [BETA]

Varjo is a Lisp to GLSL compiler.

Varjo has no OpenGL dependency as is designed to be integrated into other projects, see CEPL for an example.

Vari is the dialect of lisp Varjo compiles. It aims to be as close to Common Lisp as possible, but naturally it is statically typed so there are differences.

Features

Subset of common lisp. Including:

Documentation

The user guide can be found in docs/user-guide.md

The reference documentation for the compiler can be found here

The reference documentation for the Vari language can be found here

Installing

Run (ql:quickload :varjo) at your REPL.

Cloning

Whist it is recommended to get Varjo from quicklisp, if you clone please note that master is not the stable branch. Please use release-quicklisp for the stable code that will be in the next Varjo release.

Name Origins

Updates

2018-04-05

2018-03-14

Lots landing this month, whilst my current test suite passes I'm still expecting some issues or regressions, if these hit you PLEASE let me know so I can avoid merging this to quicklisp before the regressions have been handled. Quick summary of changes are:

CL functions added listed below. Some of the predicates are basically pointless, but for completeness it's nice to have them

Also added the complex & ratio types. Complex support is limited right now and ratio basically useless. But we have a place to work from. Complex numbers are always single-float in vari.

2017-06-04

PACKAGES

There has been a huge refactoring of packages.

This is annoying but a neccessary step before I could start documenting the project. The original structure just appeared out of neccessity so I'm hoping this will last a little longer. The most important changes are:

Bugfixes & Enhancements

2017-05-16


2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 varjo

Common Lisp -> GLSL Compiler

Author

Chris Bagley (Baggers) <techsnuffle@gmail.com>

License

BSD 2 Clause

Dependencies
  • documentation-utils (system).
  • vas-string-metrics (system).
  • named-readtables (system).
  • glsl-symbols (system).
  • parse-float (system).
  • alexandria (system).
  • glsl-spec (system).
  • glsl-docs (system).
  • cl-ppcre (system).
  • uiop (system).
  • fn (system).
Source

varjo.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp   [Contents][Index]

3.1.1 varjo/varjo.asd

Source

varjo.asd.

Parent Component

varjo (system).

ASDF Systems

varjo.


3.1.2 varjo/package.lisp

Source

varjo.asd.

Parent Component

varjo (system).

Packages

3.1.3 varjo/src/utils-v.lisp

Dependency

package.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface

3.1.4 varjo/src/defcondition.lisp

Dependency

src/utils-v.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

3.1.5 varjo/src/varjo.internals/generics.lisp

Dependency

src/defcondition.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.6 varjo/src/varjo.internals/globals.lisp

Dependency

src/varjo.internals/generics.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.7 varjo/src/varjo.internals/names.lisp

Dependency

src/varjo.internals/globals.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.8 varjo/src/varjo.internals/internal-types.lisp

Dependency

src/varjo.internals/names.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.9 varjo/src/varjo.internals/glsl-generation/line-and-chunk.lisp

Dependency

src/varjo.internals/internal-types.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.10 varjo/src/varjo.internals/qualifiers.lisp

Dependency

src/varjo.internals/glsl-generation/line-and-chunk.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.11 varjo/src/varjo.internals/types/def-v-core-type.lisp

Dependency

src/varjo.internals/qualifiers.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

define-v-type-class (macro).


3.1.12 varjo/src/varjo.internals/types/type-spec.lisp

Dependency

src/varjo.internals/types/def-v-core-type.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

3.1.13 varjo/src/varjo.internals/types/early-types.lisp

Dependency

src/varjo.internals/types/type-spec.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.14 varjo/src/varjo.internals/flow.lisp

Dependency

src/varjo.internals/types/early-types.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.15 varjo/src/varjo.internals/types/types.lisp

Dependency

src/varjo.internals/flow.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.16 varjo/src/varjo.internals/return-set.lisp

Dependency

src/varjo.internals/types/types.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface

nth-return-name (generic function).

Internals

merge-return-sets (function).


3.1.17 varjo/src/varjo.internals/emit-set.lisp

Dependency

src/varjo.internals/return-set.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

3.1.18 varjo/src/varjo.internals/value-metadata.lisp

Dependency

src/varjo.internals/emit-set.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.19 varjo/src/varjo.internals/errors.lisp

Dependency

src/varjo.internals/value-metadata.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.20 varjo/src/varjo.internals/function-obj.lisp

Dependency

src/varjo.internals/errors.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.21 varjo/src/varjo.internals/deftype.lisp

Dependency

src/varjo.internals/function-obj.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

define-shadow-type-functions (macro).


3.1.22 varjo/src/varjo.internals/variables.lisp

Dependency

src/varjo.internals/deftype.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.23 varjo/src/varjo.internals/code-object.lisp

Dependency

src/varjo.internals/variables.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.24 varjo/src/varjo.internals/stemcells.lisp

Dependency

src/varjo.internals/code-object.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.25 varjo/src/vari.types/types.lisp

Dependency

src/varjo.internals/stemcells.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.26 varjo/src/vari.types/other-types.lisp

Dependency

src/vari.types/types.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.27 varjo/src/varjo.internals/environment.lisp

Dependency

src/vari.types/other-types.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.28 varjo/src/varjo.internals/external-functions.lisp

Dependency

src/varjo.internals/environment.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.29 varjo/src/varjo.internals/structs.lisp

Dependency

src/varjo.internals/external-functions.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.30 varjo/src/varjo.internals/glsl-generation/string-generation.lisp

Dependency

src/varjo.internals/structs.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.31 varjo/src/varjo.internals/casting.lisp

Dependency

src/varjo.internals/glsl-generation/string-generation.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface

cast-for-array-literal (function).

Internals

3.1.32 varjo/src/varjo.internals/stages.lisp

Dependency

src/varjo.internals/casting.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.33 varjo/src/varjo.internals/compile-result.lisp

Dependency

src/varjo.internals/stages.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

clone-compile-result (function).


3.1.34 varjo/src/varjo.internals/compile-literal.lisp

Dependency

src/varjo.internals/compile-result.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

3.1.35 varjo/src/varjo.internals/compile-vars.lisp

Dependency

src/varjo.internals/compile-literal.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface

with-constant-inject-hook (macro).

Internals

3.1.36 varjo/src/varjo.internals/compile-special.lisp

Dependency

src/varjo.internals/compile-vars.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.37 varjo/src/varjo.internals/make-function.lisp

Dependency

src/varjo.internals/compile-special.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface

build-function (function).

Internals

3.1.38 varjo/src/varjo.internals/functions.lisp

Dependency

src/varjo.internals/make-function.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.39 varjo/src/varjo.internals/traits.lisp

Dependency

src/varjo.internals/functions.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.40 varjo/src/varjo.internals/macros.lisp

Dependency

src/varjo.internals/traits.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.42 varjo/src/varjo.internals/compile-form.lisp

Dependency

src/varjo.internals/compile-funcall.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface

3.1.43 varjo/src/varjo.internals/declaim.lisp

Dependency

src/varjo.internals/compile-form.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface

v-declaim (macro).

Internals

3.1.44 varjo/src/vari.glsl/equality.lisp

Dependency

src/varjo.internals/declaim.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).


3.1.45 varjo/src/vari.glsl/matrix-constructors.lisp

Dependency

src/vari.glsl/equality.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).


3.1.46 varjo/src/vari.glsl/scalar-constructors.lisp

Dependency

src/vari.glsl/matrix-constructors.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).


3.1.47 varjo/src/vari.glsl/vector-constructors.lisp

Dependency

src/vari.glsl/scalar-constructors.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).


3.1.48 varjo/src/vari.glsl/parse-from-spec.lisp

Dependency

src/vari.glsl/vector-constructors.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

3.1.49 varjo/src/vari.glsl/variables-from-spec.lisp

Dependency

src/vari.glsl/parse-from-spec.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

3.1.50 varjo/src/vari.glsl/functions-from-spec.lisp

Dependency

src/vari.glsl/variables-from-spec.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

populate-functions (function).


3.1.51 varjo/src/vari.glsl/built-in-types.lisp

Dependency

src/vari.glsl/functions-from-spec.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.52 varjo/src/vari.glsl/special-operators/iteration.lisp

Dependency

src/vari.glsl/built-in-types.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

3.1.53 varjo/src/vari.glsl/special-operators/switch.lisp

Dependency

src/vari.glsl/special-operators/iteration.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

valid-for-switch-statementp (function).


3.1.54 varjo/src/vari.glsl/special-operators/discard.lisp

Dependency

src/vari.glsl/special-operators/switch.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

vs-discard (function).


3.1.55 varjo/src/vari.cl/docs.lisp

Dependency

src/vari.glsl/special-operators/discard.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface

vari-describe (function).

Internals

3.1.56 varjo/src/vari.cl/macros.lisp

Dependency

src/vari.cl/docs.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).


3.1.57 varjo/src/vari.cl/functions.lisp

Dependency

src/vari.cl/macros.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).


3.1.58 varjo/src/vari.cl/nary-operators.lisp

Dependency

src/vari.cl/functions.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).


3.1.59 varjo/src/vari.cl/bitwise-operators.lisp

Dependency

src/vari.cl/nary-operators.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).


3.1.60 varjo/src/vari.cl/special-operators/uint.lisp

Dependency

src/vari.cl/bitwise-operators.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

vs-uint (function).


3.1.61 varjo/src/vari.cl/special-operators/progn.lisp

Dependency

src/vari.cl/special-operators/uint.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

vs-progn (function).


3.1.62 varjo/src/vari.cl/special-operators/let.lisp

Dependency

src/vari.cl/special-operators/progn.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

vs-let (function).


3.1.63 varjo/src/vari.cl/special-operators/assignment.lisp

Dependency

src/vari.cl/special-operators/let.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

3.1.64 varjo/src/vari.cl/special-operators/conditionals.lisp

Dependency

src/vari.cl/special-operators/assignment.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

3.1.65 varjo/src/vari.cl/special-operators/case.lisp

Dependency

src/vari.cl/special-operators/conditionals.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

3.1.66 varjo/src/vari.cl/special-operators/and-or.lisp

Dependency

src/vari.cl/special-operators/case.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

3.1.67 varjo/src/vari.cl/special-operators/declarations.lisp

Dependency

src/vari.cl/special-operators/and-or.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

3.1.68 varjo/src/vari.cl/special-operators/values.lisp

Dependency

src/vari.cl/special-operators/declarations.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.69 varjo/src/vari.cl/special-operators/return.lisp

Dependency

src/vari.cl/special-operators/values.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

vs-return (function).


3.1.70 varjo/src/vari.cl/special-operators/multiple-value-x.lisp

Dependency

src/vari.cl/special-operators/return.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

3.1.71 varjo/src/vari.cl/special-operators/local-functions.lisp

Dependency

src/vari.cl/special-operators/multiple-value-x.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

3.1.72 varjo/src/vari.cl/special-operators/function.lisp

Dependency

src/vari.cl/special-operators/local-functions.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

3.1.73 varjo/src/vari.cl/special-operators/macros.lisp

Dependency

src/vari.cl/special-operators/function.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

3.1.74 varjo/src/vari.cl/special-operators/swizzle.lisp

Dependency

src/vari.cl/special-operators/macros.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

3.1.75 varjo/src/vari.cl/special-operators/inline-code.lisp

Dependency

src/vari.cl/special-operators/swizzle.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

3.1.76 varjo/src/vari.cl/special-operators/compiler-debugging.lisp

Dependency

src/vari.cl/special-operators/inline-code.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

3.1.77 varjo/src/vari.cl/special-operators/make-array.lisp

Dependency

src/vari.cl/special-operators/compiler-debugging.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

3.1.78 varjo/src/vari.cl/special-operators/aref.lisp

Dependency

src/vari.cl/special-operators/make-array.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

vs-aref (function).


3.1.79 varjo/src/vari.cl/special-operators/emit.lisp

Dependency

src/vari.cl/special-operators/aref.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals
  • vs-emit-data (function).
  • x (generic function).
  • y (generic function).
  • z (generic function).

3.1.80 varjo/src/vari.cl/special-operators/slots.lisp

Dependency

src/vari.cl/special-operators/emit.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

3.1.81 varjo/src/vari.cl/special-operators/typecase.lisp

Dependency

src/vari.cl/special-operators/slots.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

vs-typecase (function).


3.1.82 varjo/src/vari.cl/special-operators/coerce.lisp

Dependency

src/vari.cl/special-operators/typecase.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

3.1.83 varjo/src/vari.cl/complex.lisp

Dependency

src/vari.cl/special-operators/coerce.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).


3.1.84 varjo/src/vari.cl/ratio.lisp

Dependency

src/vari.cl/complex.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).


3.1.85 varjo/src/vari.cl/misc.lisp

Dependency

src/vari.cl/ratio.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Internals

3.1.86 varjo/src/varjo.internals/translate.lisp

Dependency

src/vari.cl/misc.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface

translate (generic function).

Internals

3.1.87 varjo/src/varjo.internals/glsl-stage.lisp

Dependency

src/varjo.internals/translate.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface

glsl-to-compile-result (function).

Internals

3.1.88 varjo/src/varjo.internals/rolling-translate.lisp

Dependency

src/varjo.internals/glsl-stage.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.89 varjo/src/varjo.internals/test-compile.lisp

Dependency

src/varjo.internals/rolling-translate.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface

test-translate-function-split-details (function).

Internals

3.1.90 varjo/src/varjo.internals/front-end.lisp

Dependency

src/varjo.internals/test-compile.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface

v-compile (function).


3.1.91 varjo/src/varjo.api/environment.lisp

Dependency

src/varjo.internals/front-end.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).

Public Interface
Internals

3.1.92 varjo/src/varjo.api/docs.lisp

Dependency

src/varjo.api/environment.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).


3.1.93 varjo/src/docs.lisp

Dependency

src/varjo.api/docs.lisp (file).

Source

varjo.asd.

Parent Component

varjo (system).


4 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

4.1 vari.types

Source

package.lisp.

Use List
Used By List
Public Interface

Next: , Previous: , Up: Packages   [Contents][Index]

4.2 varjo.internals

Source

package.lisp.

Use List
Used By List
Public Interface
Internals

Next: , Previous: , Up: Packages   [Contents][Index]

4.3 %varjo.usings

Source

package.lisp.

Used By List

Next: , Previous: , Up: Packages   [Contents][Index]

4.4 varjo.api

Source

package.lisp.

Use List
Used By List

varjo.

Public Interface
Internals

Next: , Previous: , Up: Packages   [Contents][Index]

4.5 varjo.utils

Source

package.lisp.

Use List
Used By List
Public Interface

Next: , Previous: , Up: Packages   [Contents][Index]

4.6 vari.cl

Source

package.lisp.

Use List
Used By List

vari.

Public Interface
Internals

Next: , Previous: , Up: Packages   [Contents][Index]

4.7 vari.glsl

Source

package.lisp.

Use List
Used By List
Internals

Next: , Previous: , Up: Packages   [Contents][Index]

4.8 vari

Source

package.lisp.

Use List

Next: , Previous: , Up: Packages   [Contents][Index]

4.9 varjo-conditions

Source

package.lisp.

Use List
Used By List
Public Interface

Previous: , Up: Packages   [Contents][Index]

4.10 varjo

Source

package.lisp.

Use List

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Public Interface


Next: , Previous: , Up: Public Interface   [Contents][Index]

5.1.1 Special variables

Special Variable: *default-version*

‘*default-version*‘ is a variable that holds the version of GLSL that will be used for a compile task if a version is not specified in the context

Package

varjo.internals.

Source

src/varjo.internals/globals.lisp.

Special Variable: *emit-var-name-base*
Package

varjo.internals.

Source

src/varjo.internals/globals.lisp.

Special Variable: *in-qualifier*
Package

varjo.internals.

Source

src/varjo.internals/qualifiers.lisp.

Special Variable: *out-qualifier*
Package

varjo.internals.

Source

src/varjo.internals/qualifiers.lisp.

Special Variable: *return-var-name-base*
Package

varjo.internals.

Source

src/varjo.internals/globals.lisp.

Special Variable: *stage-names*

‘*stage-names*‘ is a variable that holds the list of keyword stage names that Varjo recognises

Package

varjo.internals.

Source

src/varjo.internals/globals.lisp.

Special Variable: *stage-type-names*

‘*stage-type-names*‘ is a variable that holds a list of type-names that map to the stages named in ‘*stage-names*‘

Package

varjo.internals.

Source

src/varjo.internals/globals.lisp.

Special Variable: *supported-versions*

‘*supported-versions*‘ is a variable that holds the list of GLSL version Varjo ostensibly supports.

Note: That ’ostensibly’ is there as I’m very sure that the lower levels of GLSL varjo is currently doing a very poor job. If you have the time please file issues that you find at https://github.com/cbaggers/varjo/issues

Package

varjo.internals.

Source

src/varjo.internals/globals.lisp.


5.1.2 Macros

Macro: %peek (thing)
Package

varjo.utils.

Source

src/utils-v.lisp.

Macro: a-add (name value list-place)
Package

varjo.utils.

Source

src/utils-v.lisp.

Macro: a-remove-all (name list-place)
Package

varjo.utils.

Source

src/utils-v.lisp.

Macro: a-set (name value list-place)
Package

varjo.utils.

Source

src/utils-v.lisp.

Macro: case-member (member-form (&key test) &body cases)
Package

varjo.utils.

Source

src/utils-v.lisp.

Macro: case= (form &body cases)
Package

varjo.utils.

Source

src/utils-v.lisp.

Macro: dbind (lambda-list expression &body body)
Package

varjo.utils.

Source

src/utils-v.lisp.

Macro: def-metadata-infer (varjo-type-spec metadata-kind env-var &body body)

‘def-metadata-infer‘ is the older syntax for ‘define-metadata-infer‘.

This macro is still exported in order to maintain compatibility with existing code.

Package

varjo.internals.

Source

src/varjo.internals/value-metadata.lisp.

Macro: def-metadata-kind (name (&key conc-name binds-to) &body slot-names)

‘def-metadata-kind‘ is the older syntax for ‘define-metadata-kind‘.

This macro is still exported in order to maintain compatibility with existing code.

Package

varjo.internals.

Source

src/varjo.internals/value-metadata.lisp.

Macro: def-shadow-type-constructor (shadow-type function-identifier)

‘def-shadow-type-constructor‘ is the older syntax for ‘define-shadow-type-constructor‘.

This macro is still exported in order to maintain compatibility with existing code.

Package

varjo.internals.

Source

src/varjo.internals/deftype.lisp.

Macro: define-alternate-type-name (current-type-name alternate-type-name)

‘define-alternate-type-name‘ lets you define

Package

varjo.internals.

Source

src/varjo.internals/types/early-types.lisp.

Macro: define-glsl-template-function (name args return-spec transform &key pure)

‘define-glsl-template-function‘ which lets you define a snippet of
glsl code as a function in Vari. Here is an example definition:

[0] ↓
(define-glsl-template-function my-func ((x :float)) ←[1]
:float ←[2]
"(1.0f / ~a)" ←[3]
:pure t) ←[4]

‘[0]‘ Here we are defining a function called ’my-func’

‘[1]‘ It takes 1 argument, called ’x’ which has the type ‘:float‘

‘[2]‘ It returns a single ‘:float‘ value

‘[3]‘ The string pattern is what will be injected into the final glsl. It behaves as though this pattern and the glsl for the arguments were passed to ‘format‘, e.g. ‘(format nil "(1.0f / ~a)" "2.3f") assuming the glsl of the argument passed to ‘x‘ was "2.3f".

The glsl for the arguments is passed to format in the order specified in ‘[1]‘

As it currently uses ‘format‘ it is legal to use other ‘directives‘ such as ‘~s‘ but it is not advisable as this will result in invalid glsl.

Package

varjo.internals.

Source

src/varjo.internals/functions.lisp.

Macro: define-metadata-infer (varjo-type-spec metadata-kind env-var &body body)

‘define-metadata-infer‘ lets you define

Package

varjo.internals.

Source

src/varjo.internals/value-metadata.lisp.

Macro: define-metadata-kind (name (&key conc-name binds-to) &body slot-names)

‘define-metadata-kind‘ lets you define

Package

varjo.internals.

Source

src/varjo.internals/value-metadata.lisp.

Macro: define-shadow-type-constructor (shadow-type function-identifier)

‘define-shadow-type-constructor‘ lets you define

Package

varjo.internals.

Source

src/varjo.internals/deftype.lisp.

Macro: define-vari-compiler-macro (name lambda-list &body body)

‘define-vari-compiler-macro‘ lets you define a compiler-macro that works in Vari.

The parameters in the lambda-list must be defined in form ‘(,name ,type-spec)‘

The compiler macro will only expand for functions with an exactly matching name and lambda-list.

Vari’s compiler macros behave the same as regular Common Lisp compiler-macros with the exception that you can make queries against the environment to find data (such as type) from the arguments (See [here]() for details).

Due to having to compile the argument forms before being able to identify the compiler macro, any form returned from the compiler-macro (other than the value from ‘&whole‘ is going to result in recompilation. This make Vari’s compiler macros more ’expensive’ than Common Lisps in the general sense.

Package

varjo.internals.

Source

src/varjo.internals/macros.lisp.

Macro: define-vari-function (name args &body body)

‘define-vari-function‘ lets you define a function that can be used in
any Vari code compiled in the future.

that takes the following:

- a name as a symbol
- a ’vari function lambda-list’ (see [here]() for details)
- a body made of Vari code

Please note that, other than performing some basic validation on the arguments, this function does not attempt any validation on the body of the function. Doing so would require knowledge of the context in which it is used.

If you need to test that the function could be valid, refer to the ‘test-translate-function-split-details‘ & ‘add-external-function‘ functions.

Package

varjo.internals.

Source

src/varjo.internals/functions.lisp.

Macro: define-vari-macro (name lambda-list &body body)

‘define-vari-macro‘ lets you define a macro that can be used in any Vari code compiled in the future.

Vari’s macros behave the same as regular Common Lisp macros with the exception that you can make queries against the environment to find
data (such as type) from the arguments (See [here]() for details).

Package

varjo.internals.

Source

src/varjo.internals/macros.lisp.

Macro: define-vari-struct (name context &body slots)

‘define-vari-struct‘ lets you define

Package

varjo.internals.

Source

src/varjo.internals/structs.lisp.

Macro: define-vari-trait (name (&rest type-vars) &body func-signatures)
Package

varjo.internals.

Source

src/varjo.internals/traits.lisp.

Macro: define-vari-trait-implementation (impl-type-name (trait-name &rest trait-args &key &allow-other-keys) &body implementations &key &allow-other-keys)
Package

varjo.internals.

Source

src/varjo.internals/traits.lisp.

Macro: define-vari-type (name args type-form &key valid-metadata-kinds)

‘define-vari-type‘ lets you define

Package

varjo.internals.

Source

src/varjo.internals/deftype.lisp.

Macro: emit ((&key point-size) &body position-and-then-user-data)
Package

vari.cl.

Source

src/vari.cl/special-operators/emit.lisp.

Macro: env-> ((env-var env) &body compiling-forms)

Kinda like varjo progn in that it accumulates the env and
returns the results of all the forms and the final env.
However it DOES NOT make a fresh environment to compile the forms in. It expects that each form returns a result and optionally an env

Package

varjo.internals.

Source

src/varjo.internals/compile-special.lisp.

Macro: flow-id-scope (&body body)
Package

varjo.internals.

Source

src/varjo.internals/flow.lisp.

Macro: glsl-chunk-splicing (&body key-form-pairs)
Package

varjo.internals.

Source

src/varjo.internals/glsl-generation/line-and-chunk.lisp.

Macro: merge-multi-env-progn (code-objs)
Package

varjo.internals.

Source

src/varjo.internals/compile-special.lisp.

Macro: merge-progn (code-objs starting-env &optional final-env)
Package

varjo.internals.

Source

src/varjo.internals/compile-special.lisp.

Macro: pipe-> (args &body stages)

(pipe-> (1 2 3) #’a #’b #’c #’d)
Calls first function with args provided and uses result as arguments for next function. Uses multiple-value-call so you can use (values) to specify complex lambda-args.

Package

varjo.utils.

Source

src/utils-v.lisp.

Macro: v-declaim (&body declaration-specifiers)
Package

varjo.internals.

Source

src/varjo.internals/declaim.lisp.

Macro: v-def-glsl-template-fun (name args transform arg-types return-spec &key v-place-index glsl-name pure)

‘v-def-glsl-template-fun‘ is the older syntax for ‘define-glsl-template-function‘.

This macro is still exported in order to maintain compatibility with existing code.

Package

varjo.internals.

Source

src/varjo.internals/functions.lisp.

Macro: v-define-compiler-macro (name lambda-list &body body)

‘v-define-compiler-macro‘ is the older syntax for ‘define-vari-compiler-macro‘.

This macro is still exported in order to maintain compatibility with existing code.

Package

varjo.internals.

Source

src/varjo.internals/macros.lisp.

Macro: v-defmacro (name lambda-list &body body)

‘v-defmacro‘ is the older syntax for ‘define-vari-macro‘.

This macro is still exported in order to maintain compatibility with existing code.

Package

varjo.internals.

Source

src/varjo.internals/macros.lisp.

Macro: v-defspecial (name args &body body)
Package

varjo.internals.

Source

src/varjo.internals/functions.lisp.

Macro: v-defstruct (name context &body slots)

‘v-defstruct‘ is the older syntax for ‘define-vari-struct‘.

This macro is still exported in order to maintain compatibility with existing code.

Package

varjo.internals.

Source

src/varjo.internals/structs.lisp.

Macro: v-deftype (name args type-form &key valid-metadata-kinds)

‘v-deftype‘ is the older syntax for ‘define-vari-type‘.

This macro is still exported in order to maintain compatibility with existing code.

Package

varjo.internals.

Source

src/varjo.internals/deftype.lisp.

Macro: v-defun (name args &body body)

‘v-defun‘ is the older syntax for ‘define-vari-function‘.

This macro is still exported in order to maintain compatibility with existing code.

Package

varjo.internals.

Source

src/varjo.internals/functions.lisp.

Macro: vbind (vars value-form &body body)
Package

varjo.utils.

Source

src/utils-v.lisp.

Macro: vlist (value-form)
Package

varjo.utils.

Source

src/utils-v.lisp.

Macro: with-constant-inject-hook (func &body body)

When ‘translate‘ is called within the dynamic extern of the body of this form, if there is a use of a variable which is not in scope in the Vari code, but is ‘boundp‘ & constant in the Common Lisp environment then the user provided function will be called with the symbol naming the variable.
The user provided function must return a Vari type-spec or throw an error to inform the user of the issue.

Package

varjo.internals.

Source

src/varjo.internals/compile-vars.lisp.

Macro: with-fresh-env-scope ((name starting-env &key context function-scope form-bindings symbol-bindings multi-val-base multi-val-safe allowed-outer-vars) &body body)
Package

varjo.internals.

Source

src/varjo.internals/environment.lisp.

Macro: with-stemcell-infer-hook (func &body body)

When ‘translate‘ is called within the dynamic extern of the body of this form, if there is a use of a variable which is not in scope in the Vari code, but is not constant in the Common Lisp environment then the user provided function will be called with the symbol naming the variable.
The user provided function can:
- Return a Vari type-spec. This will become the type of the form.
- Return nil to have Varjo tell the user that the symbol is unbound.
- Throw an error. If you wish to inform the user that something else is awry.

Package

varjo.internals.

Source

src/varjo.internals/stemcells.lisp.

Macro: with-unknown-first-class-functions-allowed (&body body)

When ‘translate‘ is called within the dynamic extern of the body of this form, it will not throw an error if there is a use of ‘function‘ with an unknown function name/signature. In the event of such a use the compiler will generate a dummy function to satify the typechecker.

This is only useful for testing and the resulting GLSL will (most likely) not be legal

Package

varjo.internals.

Source

src/varjo.internals/compile-funcall.lisp.

Macro: with-v-arg ((&optional name type qualifiers glsl-name) arg-form &body body)
Package

varjo.internals.

Source

src/varjo.internals/rolling-translate.lisp.

Macro: with-v-let-spec (form &body body)
Package

varjo.internals.

Source

src/varjo.internals/compile-special.lisp.


5.1.3 Compiler macros

Compiler Macro: assocr (item alist &key key test test-not)
Package

varjo.utils.

Source

src/utils-v.lisp.

Compiler Macro: type-spec->type (spec &optional flow-id)
Package

varjo.internals.

Source

src/varjo.internals/types/early-types.lisp.

Compiler Macro: v-typep (a b)
Package

varjo.internals.

Source

src/varjo.internals/types/types.lisp.


5.1.4 Ordinary functions

Function: %gen-assignment-string (lhs rhs)
Package

varjo.internals.

Source

src/varjo.internals/glsl-generation/string-generation.lisp.

Function: %merge-multi-env-progn (code-objs)
Package

varjo.internals.

Source

src/varjo.internals/compile-special.lisp.

Function: %values-for-return (objs parsed-qualifier-lists env)
Package

varjo.internals.

Source

src/vari.cl/special-operators/values.lisp.

Function: a-get (name list)
Package

varjo.utils.

Source

src/utils-v.lisp.

Function: a-get1 (name list)
Package

varjo.utils.

Source

src/utils-v.lisp.

Function: add-alternate-type-name (alt-type-name src-type-name)

‘add-alternate-type-name‘

Package

varjo.internals.

Source

src/varjo.internals/types/types.lisp.

Function: add-type-to-stemcell-code (code-obj type-name)
Package

varjo.internals.

Source

src/varjo.internals/stemcells.lisp.

Function: assocr (item alist &key key test test-not)
Package

varjo.utils.

Source

src/utils-v.lisp.

Function: binding-accesible-p (env binding &optional binding-name)
Package

varjo.internals.

Source

src/varjo.internals/environment.lisp.

Function: build-function (name args body allowed-implicit-args env &key derived-from)
Package

varjo.internals.

Source

src/varjo.internals/make-function.lisp.

Function: calc-place-tree (func args)
Package

varjo.internals.

Source

src/varjo.internals/compile-funcall.lisp.

Function: cast-for-array-literal (target-element-type elements)
Package

varjo.internals.

Source

src/varjo.internals/casting.lisp.

Function: check-args-for-constant-names (purpose name args)
Package

varjo.internals.

Source

src/varjo.internals/function-obj.lisp.

Function: checkpoint-flow-ids ()
Package

varjo.internals.

Source

src/varjo.internals/flow.lisp.

Function: compile-declares (declaration-specifiers env)
Package

varjo.internals.

Source

src/varjo.internals/value-metadata.lisp.

Function: compile-external-func-returning-ref (func func-name-form env)
Package

varjo.internals.

Source

src/varjo.internals/compile-funcall.lisp.

Function: compile-forms-not-propagating-env-returning-list-of-compiled (func env list &rest more-lists)

This compiles each form one after the other (just like progn) however, unlike progn, each form is evaluated with the original environment this means that bindings in one won’t be visable in another.
Finally the resulting environement is merged.

This gives us the behaviour from the binding expressions portion of let forms

Package

varjo.internals.

Source

src/varjo.internals/compile-special.lisp.

Function: compile-forms-propagating-env-returning-list-of-compiled (func env list &rest more-lists)

Compile each form passing the env from the previous into the next. return the compiled code objects as a list along with the final env

Package

varjo.internals.

Source

src/varjo.internals/compile-special.lisp.

Function: compile-let (name type-spec value-form env &optional glsl-name assume-bound)
Package

varjo.internals.

Source

src/varjo.internals/compile-special.lisp.

Function: compile-list-form (code env)
Package

varjo.internals.

Source

src/varjo.internals/compile-funcall.lisp.

Function: compile-progn (body env)
Package

varjo.internals.

Source

src/varjo.internals/compile-special.lisp.

Function: cons-end (thing list)
Package

varjo.utils.

Source

src/utils-v.lisp.

Function: create-stage (kind version/s &key input-variables uniform-variables shared-variables code stemcells-allowed primitive)
Package

varjo.internals.

Source

src/varjo.internals/stages.lisp.

Function: elt* (sequence &rest indicies)
Package

varjo.utils.

Source

src/utils-v.lisp.

Function: end-line (obj &optional force)
Package

varjo.internals.

Source

src/varjo.internals/code-object.lisp.

Function: end-line-str (str)
Package

varjo.internals.

Source

src/varjo.internals/code-object.lisp.

Function: env-merge-history (env-a env-b)
Package

varjo.internals.

Source

src/varjo.internals/environment.lisp.

Function: env-prune* (to-depth &rest envs)
Package

varjo.internals.

Source

src/varjo.internals/environment.lisp.

Function: env-prune-many (to-depth envs)

Remove the first ’to-depth’ ancestors counting from the base-environment. For example calling env-prune on this environment..

base-env -> env0 -> env1 -> env2 -> env3 -> env4 -> env5

.. with a to-depth of 3 will return:

env2 -> env3 -> env4 -> env5

Package

varjo.internals.

Source

src/varjo.internals/environment.lisp.

Function: env-replace-parent (env new-parent &key symbol-bindings)
Package

varjo.internals.

Source

src/varjo.internals/environment.lisp.

Function: env-replace-symbol-bindings (env symbol-bindings)
Package

varjo.internals.

Source

src/varjo.internals/environment.lisp.

Function: ephemeral-p (obj)

‘ephemeral-p‘ returns T is the Varjo type object represents an ‘ephemeral‘ type

Package

varjo.internals.

Source

src/varjo.internals/types/types.lisp.

Function: external-function-p (f)
Package

varjo.internals.

Source

src/varjo.internals/external-functions.lisp.

Function: extract-declares (body)
Package

varjo.internals.

Source

src/varjo.internals/value-metadata.lisp.

Function: extract-declares-and-doc-string (body &optional full-form)
Package

varjo.internals.

Source

src/varjo.internals/value-metadata.lisp.

Function: extract-details-from-problematic-closures (closures)
Package

varjo.internals.

Source

src/varjo.internals/compile-funcall.lisp.

Function: extract-value-qualifiers (value-form)
Package

varjo.internals.

Source

src/vari.cl/special-operators/values.lisp.

Function: find-duplicates (list)
Package

varjo.utils.

Source

src/utils-v.lisp.

Function: find-env-bindings (env-a env-b &key test stop-at-base variables-only)

Look at every variable binding in both the supplied environments and return the names of the bindings that match

Package

varjo.internals.

Source

src/varjo.internals/environment.lisp.

Function: find-mutual-cast-type (&rest types)

‘find-mutual-cast-type‘ when given a number of Varjo type objects, this function will return a type object that they can all mutually be cast to according to GLSL’s rules.

Package

varjo.internals.

Source

src/varjo.internals/types/types.lisp.

Function: find-similarly-named-symbol (source-symb candidates-list)
Package

varjo.utils.

Source

src/utils-v.lisp.

Function: flow-id! (&rest ids)
Package

varjo.internals.

Source

src/varjo.internals/flow.lisp.

Function: format-external-func-for-error (func)
Package

varjo.internals.

Source

src/varjo.internals/external-functions.lisp.

Function: fresh-environment (env &key context function-scope form-bindings symbol-bindings multi-val-base multi-val-safe allowed-outer-vars ext-func-compile-chain)
Package

varjo.internals.

Source

src/varjo.internals/environment.lisp.

Function: gen-array-literal-string (elements element-type)
Package

varjo.internals.

Source

src/varjo.internals/glsl-generation/string-generation.lisp.

Function: gen-bin-op-string (op-symbol place val)
Package

varjo.internals.

Source

src/varjo.internals/glsl-generation/string-generation.lisp.

Function: gen-bool-and-string (objs)
Package

varjo.internals.

Source

src/varjo.internals/glsl-generation/string-generation.lisp.

Function: gen-bool-or-string (objs)
Package

varjo.internals.

Source

src/varjo.internals/glsl-generation/string-generation.lisp.

Function: gen-for-loop-chunk (decl-chunk var-string condition-obj update-obj body-obj)
Package

varjo.internals.

Source

src/varjo.internals/glsl-generation/string-generation.lisp.

Function: gen-macro-function-code (name lambda-list body)
Package

varjo.internals.

Source

src/varjo.internals/macros.lisp.

Function: gen-or-type (types flow-id)
Package

varjo.internals.

Source

src/varjo.internals/types/types.lisp.

Function: gen-setq-assignment-string (old-value new-value-code-obj)
Package

varjo.internals.

Source

src/varjo.internals/glsl-generation/string-generation.lisp.

Function: gen-switch-chunk (test-obj keys clause-body-objs &optional default-symb)
Package

varjo.internals.

Source

src/varjo.internals/glsl-generation/string-generation.lisp.

Function: gen-swizzle-string (vec-obj components-string)
Package

varjo.internals.

Source

src/varjo.internals/glsl-generation/string-generation.lisp.

Function: gen-while-chunk (test-obj body-obj)
Package

varjo.internals.

Source

src/varjo.internals/glsl-generation/string-generation.lisp.

Function: glsl-chunk (&rest lines)
Package

varjo.internals.

Source

src/varjo.internals/glsl-generation/line-and-chunk.lisp.

Function: glsl-chunk* (lines)
Package

varjo.internals.

Source

src/varjo.internals/glsl-generation/line-and-chunk.lisp.

Function: glsl-chunk-emptyp (chunk)
Package

varjo.internals.

Source

src/varjo.internals/glsl-generation/line-and-chunk.lisp.

Function: glsl-chunk-from-compiled (obj)
Package

varjo.internals.

Source

src/varjo.internals/glsl-generation/line-and-chunk.lisp.

Reader: glsl-chunk-lines (instance)
Writer: (setf glsl-chunk-lines) (instance)
Package

varjo.internals.

Source

src/varjo.internals/glsl-generation/line-and-chunk.lisp.

Target Slot

lines.

Function: glsl-line (control-string &rest args)
Package

varjo.internals.

Source

src/varjo.internals/glsl-generation/line-and-chunk.lisp.

Function: glsl-to-compile-result (stage-kind in-args uniforms outputs context body-string &optional primitive)

Here our goal is to simple reuse as much from varjo as possible. This will mean we have less duplication, even if things seem a little ugly here

Package

varjo.internals.

Source

src/varjo.internals/glsl-stage.lisp.

Function: group (source n)

This takes a flat list and emit a list of lists, each n long containing the elements of the original list

Package

varjo.utils.

Source

src/utils-v.lisp.

Function: group-by (key sequence &key test)

Groups by key and maintains order

Package

varjo.utils.

Source

src/utils-v.lisp.

Function: id= (id-a id-b)
Package

varjo.internals.

Source

src/varjo.internals/flow.lisp.

Function: id~= (id-a id-b)
Package

varjo.internals.

Source

src/varjo.internals/flow.lisp.

Function: indent (glsl &optional count)
Package

varjo.internals.

Source

src/varjo.internals/glsl-generation/line-and-chunk.lisp.

Function: inject-implicit-uniform (symbol type-spec env &optional cpu-side-transform)
Package

varjo.internals.

Source

src/varjo.internals/stemcells.lisp.

Function: join-glsl-chunks (chunks)
Package

varjo.internals.

Source

src/varjo.internals/glsl-generation/line-and-chunk.lisp.

Function: join-glsl-of-compiled (compiled-objs)
Package

varjo.internals.

Source

src/varjo.internals/glsl-generation/line-and-chunk.lisp.

Function: kwd (&rest args)
Package

varjo.utils.

Source

src/utils-v.lisp.

Function: lambda-list-get-names (l-list)
Package

varjo.utils.

Source

src/utils-v.lisp.

Function: lambda-list-split (template lam-list)
Package

varjo.utils.

Source

src/utils-v.lisp.

Function: last1 (list)
Package

varjo.utils.

Source

src/utils-v.lisp.

Function: lisp-name->glsl-name (symbol env)
Package

varjo.internals.

Source

src/varjo.internals/names.lisp.

Function: listify (x)
Package

varjo.utils.

Source

src/utils-v.lisp.

Function: make-compiled (&key type-set current-line to-block emit-set return-set used-types stemcells out-of-scope-args pure literal place-tree called-funcs)
Package

varjo.internals.

Source

src/varjo.internals/code-object.lisp.

Function: make-dummy-function-from-type (func-type code)
Package

varjo.internals.

Source

src/varjo.internals/function-obj.lisp.

Function: make-env-with-place-modification (place-obj val-flow-ids env code)
Package

varjo.internals.

Source

src/varjo.internals/compile-special.lisp.

Function: make-function-set (functions)
Package

varjo.internals.

Source

src/varjo.internals/function-obj.lisp.

Function: make-stage (kind in-args uniforms context code &optional stemcells-allowed primitive)

‘make-stage‘ is the function that create an object that can be passed to the
‘translate‘ function. It takes the following arguments:

### kind

This must be one of the keywords in *stage-names*:

- :vertex
- :tessellation-control
- :tessellation-evaluation
- :geometry
- :fragment
- :compute

### in-args

Must be a list of input parameters to the stage. These are the values to which change
per element that is being processed, whether that be per vertex, fragment, patch,
instance, etc.

The input variables are defined as lists in the following fashion:

(variable-name
type-spec
&rest optional-qualifier-designators ["explicit-glsl-name"])

Usually this looks like:

(vert :vec4)
(data lighting-data)
(length :int :flat) <- flat is the qualifier in this case

If the last element of the list is a string, then that string is used as the name of the variable in the compiled GLSL. This is very rarely used and should generally be avoided.

### uniforms

This is a list of the uniforms to stage. These are the values that stay the same (are
uniform) for the duration of the pipeline.

They are defined in the same way as the above ’in-args’ except that, if the type-spec
specified a struct type the following additional qualifiers are allowed:

- ‘:ssbo‘
- ‘:ubo‘
- ‘:std-140‘
- ‘:std-430‘

The result of ‘make-stage‘ is an instance of one of the subclasses of the
‘stage‘ type.

### context

The context argument must be a list that may contain any number of symbols from
*supported-versions*. Context is used to specify the GLSL version to compile the
stage.

NOTE: The name ’context’ is legacy at this point as it is only used to specify
GLSL versions.

### code

This must be a list containing the forms that make up the ’body’ of the stage.

It is not legal for this argument to be nil.

### stemcells-allowed (optional)

If this argument is not NIL then the compiler will allow the capture of globally
scoped variables from Common Lisp and use of ‘add-lisp-form-as-uniform‘ from
within macros. For details on how to support ’global variable capture’ please see
the documentation for ‘with-stemcell-infer-hook‘ & ‘with-constant-inject-hook‘

### primitive (optional)

This can be nil, a instance of the type ’primitive or a valid ’primitive
designator’ as specified by the ‘valid-primitive-name-p‘ function.

Primitive designators are either one of the following keywords..

- ‘:dynamic‘
- ‘:points‘
- ‘:lines‘
- ‘:iso-lines‘
- ‘:line-loop‘
- ‘:line-strip‘
- ‘:lines-adjacency‘
- ‘:line-strip-adjacency‘
- ‘:triangles‘
- ‘:triangle-fan‘
- ‘:triangle-strip‘
- ‘:triangles-adjacency‘
- ‘:triangle-strip-adjacency‘
- ‘:quads‘

.. or a list whos first element is ‘:patches‘ and the second (and final) element
is a positive integer that is greater than 1. This specifies the length of
the patch.

Whilst this is optional in ‘make-stage‘ it must be set before being passed to
translate if the stage kind is one of the following:

- tessellation-control-stage
- tessellation-evaluation-stage
- geometry-stage

*Or* if it the first stage in the list of stages passed to ‘rolling-translate‘
and if some of the other stages are of the above kinds.

Package

varjo.internals.

Source

src/varjo.internals/stages.lisp.

Function: make-type-set (&rest members)

‘make-type-set‘ takes Varjo type objects or ‘type-spec‘s and returns an objects that respresents a set of types. ‘type-set‘s are used by a number of internal Varjo functions.

Package

varjo.internals.

Source

src/varjo.internals/types/types.lisp.

Function: make-type-set* (members)
Package

varjo.internals.

Source

src/varjo.internals/types/types.lisp.

Function: n-of (thing count)
Package

varjo.utils.

Source

src/utils-v.lisp.

Function: nth-or-self (n x)
Package

varjo.utils.

Source

src/utils-v.lisp.

Function: p-symb (package &rest args)

This takes a list of symbols (or strings) and outputs one symbol.
If the input is symbol/s then the output is a regular symbol If the input is string/s, then the output is
a |symbol like this|

Package

varjo.utils.

Source

src/utils-v.lisp.

Function: parse-qualifier (qualifier-form)
Package

varjo.internals.

Source

src/varjo.internals/qualifiers.lisp.

Function: positions-if (predicate sequence)
Package

varjo.utils.

Source

src/utils-v.lisp.

Function: postfix-glsl-index (base index)
Package

varjo.internals.

Source

src/varjo.internals/variables.lisp.

Function: prefix-type-to-string (type line-string &optional qualifiers storage-qual)
Package

varjo.internals.

Source

src/varjo.internals/glsl-generation/string-generation.lisp.

Function: primitive-name-to-instance (name)
Package

varjo.internals.

Source

src/varjo.internals/internal-types.lisp.

Function: register-reserved-name (name)
Package

varjo.internals.

Source

src/varjo.internals/names.lisp.

Function: remove-alternate-type-name (alt-type-name)
Package

varjo.internals.

Source

src/varjo.internals/types/types.lisp.

Function: replace-flow-ids-for-single-var (var-name new-flow-ids env)
Package

varjo.internals.

Source

src/varjo.internals/flow.lisp.

Function: replace-flow-ids-for-specific-value (var-name current-value env-holding-var new-flow-ids env)
Package

varjo.internals.

Source

src/varjo.internals/flow.lisp.

Function: reset-flow-ids-to-checkpoint (checkpoint)
Package

varjo.internals.

Source

src/varjo.internals/flow.lisp.

Function: resolve-name-from-alternative (spec)
Package

varjo.internals.

Source

src/varjo.internals/types/early-types.lisp.

Function: rolling-translate (stages &optional compile-func)

When called with a list of ‘stage‘ objects, ‘rolling-translate‘ compiles them returning a list of ‘compiled-stage‘ objects.

‘rolling-translate‘ does not simply ‘mapcar‘ the list over ‘translate‘ it propegates information like the primitive and ensures that outputs of one stage match up with the inputs of the next. This means that you only have to specify the primitive on the vertex stage when compiling a whole pipeline and any geometry/tessellation stages in the list will receive the correct information.

Package

varjo.internals.

Source

src/varjo.internals/rolling-translate.lisp.

Function: safe-glsl-name-string (name)
Package

varjo.internals.

Source

src/varjo.internals/names.lisp.

Function: split-arguments (args &optional template)
Package

varjo.utils.

Source

src/utils-v.lisp.

Function: stage-kind (stage)
Package

varjo.internals.

Source

src/varjo.internals/stages.lisp.

Function: stemcellp (x)
Package

varjo.internals.

Source

src/varjo.internals/stemcells.lisp.

Function: symb (&rest args)

This takes a list of symbols (or strings) and outputs one symbol.
If the input is symbol/s then the output is a regular symbol If the input is string/s, then the output is
a |symbol like this|

Package

varjo.utils.

Source

src/utils-v.lisp.

Function: test-translate-function-split-details (name in-args uniforms context body &optional stage-kinds allow-stemcells)
Package

varjo.internals.

Source

src/varjo.internals/test-compile.lisp.

Function: try-compile-arg (arg env &optional wrap-errors-p)
Package

varjo.internals.

Source

src/varjo.internals/functions.lisp.

Function: type-set-to-type-list (set)
Package

varjo.internals.

Source

src/varjo.internals/types/types.lisp.

Function: type-specp (spec)

‘type-specp‘ returns T if the ‘type-spec‘ provided represents valid Vari type.

Package

varjo.internals.

Source

src/varjo.internals/types/early-types.lisp.

Function: user-function-p (f)
Package

varjo.internals.

Source

src/varjo.internals/functions.lisp.

Function: v-compile (uniforms version &key vertex tessellation-control tessellation-evaluation geometry fragment compute allow-stemcells draw-mode primitive)

> NOTE: It is the authors recommendation to use ‘make-stage‘ & ‘translate‘ > rather than this function

This function takes lisp code as lists and returns the results of compiling that code to glsl.

Each result is an object of type ’compiled-stage.

The stages must be defined in the following way.

- The first element of the list is the input args to the stage as pairs of names and types.
- The rest of the list is the body code of that stage.

Example:

(v-compile ’((a :float)) :330
:vertex ’(((pos :vec3))
(values (vec4 pos 1.0) a))
:fragment ’(((hmm :float))
(labels ((fun ((x :float))
(* x x)))
(vec4 1.0 1.0 hmm (fun a)))))

Package

varjo.internals.

Source

src/varjo.internals/front-end.lisp.

Function: v-discarded-p (obj)
Package

varjo.internals.

Source

src/varjo.internals/types/types.lisp.

Function: v-errorp (obj)

‘v-errorp‘ returns T if the provided objects is of type ‘v-error‘

Package

varjo.internals.

Source

src/varjo.internals/types/early-types.lisp.

Function: v-returned-p (obj)
Package

varjo.internals.

Source

src/varjo.internals/types/types.lisp.

Function: v-terminated-p (x)
Package

varjo.internals.

Source

src/varjo.internals/types/types.lisp.

Function: valid-primitive-name-p (name)
Package

varjo.internals.

Source

src/varjo.internals/internal-types.lisp.

Function: vari-describe (name &optional stream try-package-name)
Package

vari.cl.

Source

src/vari.cl/docs.lisp.

Function: vec-of (type len)
Package

varjo.internals.

Source

src/vari.types/types.lisp.


5.1.5 Generic functions

Generic Reader: %glsl-decl (object)
Package

varjo.internals.

Methods
Reader Method: %glsl-decl ((uniform-variable uniform-variable))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

glsl-decl.

Generic Function: %uniform-name (thing env)
Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Method: %uniform-name ((val v-value) (env extended-environment))
Source

src/varjo.api/environment.lisp.

Method: %uniform-name ((compiled compiled) (env extended-environment))
Source

src/varjo.api/environment.lisp.

Method: %uniform-name ((id flow-identifier) (env extended-environment))
Source

src/varjo.api/environment.lisp.

Generic Function: add-equivalent-name (existing-name new-name)

‘add-equivalent-name‘

Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Method: add-equivalent-name (existing-name new-name)
Source

src/varjo.internals/environment.lisp.

Generic Function: add-external-function (name in-args uniforms code &optional valid-glsl-versions)

‘add-external-function‘ is a function that takes the following:

- a name as a symbol
- a list of input parameters declartions in the form:
‘(,name ,type-spec ,@qualifiers)‘
- a list of uniforms in the form:
‘(,name ,type-spec ,@qualifiers)‘
- a list of forms that make up the body of the function
- [optional] as list of glsl versions this function is valid for.
nil means it is valid for all versions

After doing basic checks on the arguments the function will be added to the ’external function registry’ such that it call be called from any future compilation task (assuming appropriate glsl versions).

Please note that this function does not attempt to validate the body of the function as doing so would require knowledge of the context in which it is used. If you need to test that the function could be valid, refer to the ‘test-translate-function-split-details‘ function.

Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Method: add-external-function (name in-args uniforms code &optional valid-glsl-versions)
Source

src/varjo.internals/external-functions.lisp.

Generic Function: add-form-binding (func/macro env)
Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Method: add-form-binding (anything (env base-environment))
Source

src/varjo.internals/environment.lisp.

Method: add-form-binding ((macro v-regular-macro) (env environment))
Source

src/varjo.internals/environment.lisp.

Method: add-form-binding ((func v-function) (env environment))
Source

src/varjo.internals/environment.lisp.

Method: add-form-binding ((compiled-func compiled-function-result) (env environment))
Source

src/varjo.internals/environment.lisp.

Generic Function: add-form-bindings (funcs/macros env)
Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Method: add-form-bindings ((funcs list) (env environment))
Source

src/varjo.internals/environment.lisp.

Generic Function: add-global-form-binding (func/macro)
Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Method: add-global-form-binding ((func-obj v-function))
Source

src/varjo.internals/environment.lisp.

Method: add-global-form-binding ((macro-obj v-regular-macro))
Source

src/varjo.internals/environment.lisp.

Generic Function: add-lisp-form-as-uniform (form type-spec env &optional name)

‘add-lisp-form-as-uniform‘ is an intersting beast. Its goal it to make it easy to inject uniforms into the resulting GLSL which will be populated by the result of a specific Common Lisp form.

You provide:
- a value which will be assumed to be a valid Common lisp form
- a Vari ‘type-spec‘ which will be the type of the uniform
- a Varjo environment object, which must have been obtained from the ‘ &environment‘ paramater in a Vari macro.
- an optional name

Varjo will then add a uniform (as it would be using uniform list in ‘make-stage‘). You can then use the symbol provided as the ’name’ argument in your Vari code.

When the compilation completes you can query the ‘compiled-stage‘ object using the ‘implicit-uniforms‘ function which will return a list of ‘implicit-uniform-variable‘ objects which can be queried using the following functions:

- ‘name‘ - the vari name of the uniform
- ‘glsl-name‘ - returns a string with the glsl name of the uniform variable - ‘v-type-of‘ - Returns the Varjo type object
- ‘cpu-side-transform‘ - this is how you obtain the Common Lisp code that was passed to ‘add-lisp-form-as-uniform‘

Package

varjo.api.

Source

src/varjo.api/environment.lisp.

Methods
Method: add-lisp-form-as-uniform (form type-spec (env extended-environment) &optional name)
Generic Function: add-symbol-binding (var-name val env)
Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Method: add-symbol-binding (name (macro v-symbol-macro) (env environment))
Source

src/varjo.internals/environment.lisp.

Method: add-symbol-binding (name (val v-value) (env environment))
Source

src/varjo.internals/environment.lisp.

Generic Function: all-bound-symbols (env)

When given an ‘environment‘ object from a Vari macro ‘all-bound-symbols‘ returns a list of all the symbols currently bound.

Package

varjo.api.

Source

src/varjo.api/environment.lisp.

Methods
Method: all-bound-symbols ((env extended-environment))
Generic Reader: all-functions (object)
Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Reader Method: all-functions ((post-compile-process post-compile-process))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

all-functions.

Generic Writer: (setf all-functions) (object)
Package

varjo.internals.

Methods
Writer Method: (setf all-functions) ((post-compile-process post-compile-process))

automatically generated writer method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

all-functions.

Generic Function: allows-stemcellsp (object)
Package

varjo.internals.

Methods
Method: allows-stemcellsp ((e environment))
Source

src/varjo.internals/environment.lisp.

Reader Method: allows-stemcellsp ((base-environment base-environment))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

stemcells-allowed.

Generic Reader: arg-num (object)
Package

varjo.internals.

Methods
Reader Method: arg-num ((ret-gen-element-of-nth-arg-type ret-gen-element-of-nth-arg-type))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

arg-num.

Reader Method: arg-num ((ret-gen-nth-arg-type ret-gen-nth-arg-type))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

arg-num.

Generic Function: argument-is-uniform-p (name env)

When given an ‘environment‘ object from a Vari macro and a symbol that names one of the arguments to the compiler-macro, ‘argument-is-uniform-p‘ returns T if the value of the argument comes from a uniform variable.

Package

varjo.api.

Source

src/varjo.api/environment.lisp.

Methods
Method: argument-is-uniform-p ((name symbol) (env macro-expansion-environment))
Method: argument-is-uniform-p ((name symbol) (env compiler-macro-expansion-environment))
Generic Function: argument-type (name env)

When given an ‘environment‘ object from a Vari macro and a symbol that names a variable bound in the current scope, ‘argument-type‘ returns the Varjo type object that represents the Vari type of that variable.

Package

varjo.api.

Source

src/varjo.api/environment.lisp.

Methods
Method: argument-type ((name symbol) (env compiler-macro-expansion-environment))
Method: argument-type ((name symbol) (env macro-expansion-environment))
Generic Function: argument-uniform-name (name env)

When given an ‘environment‘ object from a Vari macro and a symbol that names an argument to the current compiler-macro, ‘argument-uniform-name‘ returns the the symbol which names the uniform in the stage if the value passed to the named paramater has come from a uniform.

Package

varjo.api.

Source

src/varjo.api/environment.lisp.

Methods
Method: argument-uniform-name ((name symbol) (env macro-expansion-environment))
Method: argument-uniform-name ((name symbol) (env compiler-macro-expansion-environment))
Generic Reader: arguments (object)
Package

varjo.internals.

Methods
Reader Method: arguments ((v-compiler-macro v-compiler-macro))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

args.

Reader Method: arguments ((v-regular-macro v-regular-macro))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

args.

Reader Method: arguments ((func-match func-match))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

arguments.

Generic Writer: (setf arguments) (object)
Package

varjo.internals.

Methods
Writer Method: (setf arguments) ((v-compiler-macro v-compiler-macro))

automatically generated writer method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

args.

Writer Method: (setf arguments) ((v-regular-macro v-regular-macro))

automatically generated writer method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

args.

Generic Reader: block-name (object)
Package

varjo.internals.

Methods
Reader Method: block-name ((v-block-array v-block-array))

automatically generated reader method

Source

src/varjo.internals/types/types.lisp.

Target Slot

block-name.

Reader Method: block-name ((v-block-struct v-block-struct))

automatically generated reader method

Source

src/varjo.internals/types/types.lisp.

Target Slot

block-name.

Reader Method: block-name ((output-variable output-variable))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

block-name.

Generic Function: block-name-string (block-name)

When passed an instance of ‘output-variable‘ this will return the name of the interface-block that contained the variable as a string.

Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Method: block-name-string ((var output-variable))
Source

src/varjo.internals/glsl-generation/string-generation.lisp.

Method: block-name-string (block-name)
Source

src/varjo.internals/glsl-generation/string-generation.lisp.

Generic Function: captured-vars (object)
Package

varjo.internals.

Methods
Method: captured-vars ((fn v-function))
Source

src/varjo.internals/function-obj.lisp.

Reader Method: captured-vars ((v-user-function v-user-function))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

captured-vars.

Generic Reader: code (object)
Package

varjo.internals.

Methods
Reader Method: code ((external-function external-function))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

code.

Generic Function: combine-metadata (meta-a meta-b)

‘combine-metadata‘ takes 2 metadata (or null) objects and attempts to combine them if possible. It is valid for the system to return nil for non-null arguments.

Package

varjo.internals.

Source

src/varjo.internals/value-metadata.lisp.

Methods
Method: combine-metadata ((meta-a standard-value-metadata) (meta-b standard-value-metadata))
Method: combine-metadata ((meta-a standard-value-metadata) (meta-b null))
Method: combine-metadata ((meta-a null) (meta-b standard-value-metadata))
Method: combine-metadata ((meta-a null) (meta-b null))
Generic Function: compile-form (code env)
Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Method: compile-form (code env)
Source

src/varjo.internals/compile-form.lisp.

Generic Function: compile-literal (code env &key errorp)
Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Method: compile-literal (code env &key errorp)
Source

src/varjo.internals/compile-form.lisp.

Generic Function: compile-place (code env &key allow-unbound)
Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Method: compile-place (code env &key allow-unbound)
Source

src/varjo.internals/compile-form.lisp.

Generic Reader: context (object)

When passed an instance of ‘stage‘ this function returns a list of GLSL versions which this stage was/is to be compiled with

Package

varjo.internals.

Methods
Reader Method: context ((stage stage))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

context.

Generic Writer: (setf context) (object)
Package

varjo.internals.

Methods
Writer Method: (setf context) ((stage stage))

automatically generated writer method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

context.

Generic Function: copy-compiled (code-obj &key type-set current-line to-block emit-set return-set stemcells out-of-scope-args place-tree pure used-types literal called-funcs)
Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Method: copy-compiled ((code-obj compiled) &key type-set current-line to-block emit-set return-set stemcells out-of-scope-args place-tree pure literal used-types called-funcs)
Source

src/varjo.internals/code-object.lisp.

Generic Reader: core-typep (object)

‘core-typep‘ returns T if the Varjo type object provided is a core GLSL type

Package

varjo.internals.

Methods
Reader Method: core-typep ((v-uimage-2d-ms-array v-uimage-2d-ms-array))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-iimage-2d-ms-array v-iimage-2d-ms-array))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-image-2d-ms-array v-image-2d-ms-array))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-uimage-2d-ms v-uimage-2d-ms))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-iimage-2d-ms v-iimage-2d-ms))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-image-2d-ms v-image-2d-ms))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-uimage-cube-array v-uimage-cube-array))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-iimage-cube-array v-iimage-cube-array))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-image-cube-array v-image-cube-array))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-uimage-2d-array v-uimage-2d-array))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-iimage-2d-array v-iimage-2d-array))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-image-2d-array v-image-2d-array))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-uimage-1d-array v-uimage-1d-array))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-iimage-1d-array v-iimage-1d-array))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-image-1d-array v-image-1d-array))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-uimage-buffer v-uimage-buffer))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-iimage-buffer v-iimage-buffer))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-image-buffer v-image-buffer))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-uimage-cube v-uimage-cube))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-iimage-cube v-iimage-cube))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-image-cube v-image-cube))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-uimage-2d-rect v-uimage-2d-rect))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-iimage-2d-rect v-iimage-2d-rect))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-image-2d-rect v-image-2d-rect))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-uimage-rect v-uimage-rect))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-iimage-rect v-iimage-rect))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-image-rect v-image-rect))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-uimage-3d v-uimage-3d))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-iimage-3d v-iimage-3d))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-image-3d v-image-3d))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-uimage-2d v-uimage-2d))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-iimage-2d v-iimage-2d))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-image-2d v-image-2d))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-uimage-1d v-uimage-1d))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-iimage-1d v-iimage-1d))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-image-1d v-image-1d))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-atomic-uint v-atomic-uint))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-usampler-rect v-usampler-rect))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-isampler-rect v-isampler-rect))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-sampler-rect v-sampler-rect))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-usampler-cube-array v-usampler-cube-array))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-usampler-cube v-usampler-cube))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-usampler-buffer v-usampler-buffer))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-usampler-3d v-usampler-3d))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-usampler-2d-rect v-usampler-2d-rect))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-usampler-2d-ms-array v-usampler-2d-ms-array))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-usampler-2d-ms v-usampler-2d-ms))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-usampler-2d-array v-usampler-2d-array))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-usampler-2d v-usampler-2d))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-usampler-1d-array v-usampler-1d-array))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-usampler-1d v-usampler-1d))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-sampler-cube-shadow v-sampler-cube-shadow))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-sampler-cube-array-shadow v-sampler-cube-array-shadow))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-sampler-cube-array v-sampler-cube-array))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-sampler-cube v-sampler-cube))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-sampler-buffer v-sampler-buffer))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-sampler-3d v-sampler-3d))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-sampler-2d-shadow v-sampler-2d-shadow))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-sampler-2d-rect-shadow v-sampler-2d-rect-shadow))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-sampler-2d-rect v-sampler-2d-rect))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-sampler-2d-ms-array v-sampler-2d-ms-array))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-sampler-2d-ms v-sampler-2d-ms))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-sampler-2d-array-shadow v-sampler-2d-array-shadow))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-sampler-2d-array v-sampler-2d-array))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-sampler-2d v-sampler-2d))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-sampler-1d-shadow v-sampler-1d-shadow))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-sampler-1d-array-shadow v-sampler-1d-array-shadow))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-sampler-1d-array v-sampler-1d-array))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-sampler-1d v-sampler-1d))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-isampler-cube-array v-isampler-cube-array))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-isampler-cube v-isampler-cube))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-isampler-buffer v-isampler-buffer))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-isampler-3d v-isampler-3d))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-isampler-2d-rect v-isampler-2d-rect))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-isampler-2d-ms-array v-isampler-2d-ms-array))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-isampler-2d-ms v-isampler-2d-ms))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-isampler-2d-array v-isampler-2d-array))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-isampler-2d v-isampler-2d))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-isampler-1d-array v-isampler-1d-array))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-isampler-1d v-isampler-1d))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-dvec4 v-dvec4))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-dvec3 v-dvec3))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-dvec2 v-dvec2))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-ivec4 v-ivec4))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-ivec3 v-ivec3))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-ivec2 v-ivec2))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-uvec4 v-uvec4))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-uvec3 v-uvec3))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-uvec2 v-uvec2))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-bvec4 v-bvec4))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-bvec3 v-bvec3))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-bvec2 v-bvec2))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-vec4 v-vec4))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-vec3 v-vec3))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-vec2 v-vec2))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-dmat4x4 v-dmat4x4))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-dmat4x3 v-dmat4x3))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-dmat4x2 v-dmat4x2))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-dmat3x4 v-dmat3x4))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-dmat3x3 v-dmat3x3))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-dmat3x2 v-dmat3x2))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-dmat2x4 v-dmat2x4))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-dmat2x3 v-dmat2x3))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-dmat2x2 v-dmat2x2))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-dmat4 v-dmat4))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-dmat3 v-dmat3))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-dmat2 v-dmat2))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-mat4x4 v-mat4x4))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-mat4x3 v-mat4x3))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-mat4x2 v-mat4x2))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-mat3x4 v-mat3x4))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-mat3x3 v-mat3x3))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-mat3x2 v-mat3x2))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-mat2x4 v-mat2x4))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-mat2x3 v-mat2x3))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-mat2x2 v-mat2x2))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-mat4 v-mat4))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-mat3 v-mat3))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-mat2 v-mat2))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-double v-double))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-short-float v-short-float))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-float v-float))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-uint v-uint))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-int v-int))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-bool v-bool))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-void v-void))

automatically generated reader method

Source

src/varjo.internals/types/types.lisp.

Target Slot

core.

Reader Method: core-typep ((v-type v-type))

automatically generated reader method

Source

src/varjo.internals/types/early-types.lisp.

Target Slot

core.

Generic Reader: cpu-side-transform (object)

When passed an instance of ‘implicit-uniform-variable‘ this returns the lisp code that was to be used to populate the implicit uniform.

See ‘add-lisp-form-as-uniform‘ for more details.

Package

varjo.internals.

Methods
Reader Method: cpu-side-transform ((implicit-uniform-variable implicit-uniform-variable))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

cpu-side-transform.

Generic Function: current-line (code-obj &optional even-when-ephemeral)
Package

varjo.internals.

Source

src/varjo.internals/internal-types.lisp.

Methods
Method: current-line (code-obj &optional even-when-ephemeral)
Source

src/varjo.internals/code-object.lisp.

Generic Function: delete-external-function (name in-args-types)

‘delete-external-function‘ removes a function from the ’external function registry’ such that any attempt to use it in a functure compilation task will fail.

The ’in-arg-types’ parameter expects a list of Vari ‘type-spec‘s.

Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Method: delete-external-function (name in-args-types)
Source

src/varjo.internals/external-functions.lisp.

Generic Reader: emit-set (object)
Package

varjo.internals.

Methods
Reader Method: emit-set ((v-function v-function))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

emit-set.

Reader Method: emit-set ((compiled-function-result compiled-function-result))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

emit-set.

Reader Method: emit-set ((compiled compiled))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

emit-set.

Generic Reader: env (object)
Package

varjo.internals.

Methods
Reader Method: env ((post-compile-process post-compile-process))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

env.

Generic Writer: (setf env) (object)
Package

varjo.internals.

Methods
Writer Method: (setf env) ((post-compile-process post-compile-process))

automatically generated writer method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

env.

Generic Reader: env-depth (object)
Package

varjo.internals.

Methods
Reader Method: env-depth ((base-environment base-environment))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

env-depth.

Reader Method: env-depth ((environment environment))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

env-depth.

Generic Function: expanded-input-variables (object)
Package

varjo.internals.

Methods
Method: expanded-input-variables ((env environment))
Source

src/varjo.internals/environment.lisp.

Reader Method: expanded-input-variables ((base-environment base-environment))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

expanded-input-variables.

Generic Writer: (setf expanded-input-variables) (object)
Package

varjo.internals.

Methods
Writer Method: (setf expanded-input-variables) ((base-environment base-environment))

automatically generated writer method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

expanded-input-variables.

Generic Reader: expansion (object)
Package

varjo.internals.

Methods
Reader Method: expansion ((v-symbol-macro v-symbol-macro))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

expansion.

Generic Reader: ext-func-compile-chain (object)
Package

varjo.internals.

Methods
Reader Method: ext-func-compile-chain ((environment environment))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

ext-func-compile-chain.

Generic Reader: feedback-group (object)

‘feedback-group‘ given an instance of ‘feedback-qualifier‘ this function returns the group ID from the qualifier.

Package

varjo.internals.

Methods
Reader Method: feedback-group ((feedback-qualifier feedback-qualifier))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

group.

Generic Function: find-form-binding-by-literal (name env)
Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Method: find-form-binding-by-literal ((func-name list) env)
Source

src/varjo.internals/functions.lisp.

Method: find-form-binding-by-literal ((name symbol) env)
Source

src/varjo.internals/functions.lisp.

Generic Function: flow-ids (object)
Package

varjo.internals.

Methods
Method: flow-ids ((obj typed-external-name))
Source

src/varjo.internals/types/types.lisp.

Method: flow-ids ((obj v-value))
Source

src/varjo.internals/flow.lisp.

Method: flow-ids ((obj compiled))
Source

src/varjo.internals/flow.lisp.

Reader Method: flow-ids ((v-type v-type))

automatically generated reader method

Source

src/varjo.internals/types/early-types.lisp.

Target Slot

flow-ids.

Reader Method: flow-ids ((v-function v-function))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

flow-ids.

Reader Method: flow-ids ((stemcell stemcell))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

flow-id.

Generic Reader: func (object)
Package

varjo.internals.

Methods
Reader Method: func ((func-match func-match))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

func.

Generic Reader: function-obj (object)
Package

varjo.internals.

Methods
Reader Method: function-obj ((compiled-function-result compiled-function-result))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

function-obj.

Generic Function: functions (object)
Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Reader Method: functions ((v-function-set v-function-set))

automatically generated reader method

Source

src/varjo.internals/function-obj.lisp.

Target Slot

functions.

Method: functions ((fn v-user-function))
Source

src/varjo.internals/function-obj.lisp.

Method: functions ((fn v-function))
Source

src/varjo.internals/internal-types.lisp.

Generic Function: get-stemcell-name-for-flow-id (id env)
Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Method: get-stemcell-name-for-flow-id (id (e environment))
Source

src/varjo.internals/environment.lisp.

Generic Function: get-symbol-binding (symbol respect-scope-rules env)
Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Method: get-symbol-binding (symbol respect-scope-rules (env environment))
Source

src/varjo.internals/environment.lisp.

Generic Function: glsl-code (object)

When passed an instance of ‘compiled-stage‘ this function returns a string containing the glsl code that resulted from the compilation.

Package

varjo.internals.

Methods
Method: glsl-code ((objs list))
Source

src/varjo.internals/compile-result.lisp.

Reader Method: glsl-code ((compiled-stage compiled-stage))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

glsl-code.

Reader Method: glsl-code ((compiled-function-result compiled-function-result))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

glsl-code.

Generic Writer: (setf glsl-code) (object)
Package

varjo.internals.

Methods
Writer Method: (setf glsl-code) ((compiled-stage compiled-stage))

automatically generated writer method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

glsl-code.

Generic Reader: glsl-name (object)

When passed an instance of ‘shader-variable‘ this function returns a string containing the name that the variable was given in the glsl code.

Package

varjo.internals.

Methods
Reader Method: glsl-name ((v-function v-function))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

glsl-name.

Reader Method: glsl-name ((typed-external-name typed-external-name))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

glsl-name.

Reader Method: glsl-name ((v-value v-value))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

glsl-name.

Reader Method: glsl-name ((shader-variable shader-variable))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

glsl-name.

Generic Writer: (setf glsl-name) (object)
Package

varjo.internals.

Methods
Writer Method: (setf glsl-name) ((v-function v-function))

automatically generated writer method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

glsl-name.

Writer Method: (setf glsl-name) ((v-value v-value))

automatically generated writer method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

glsl-name.

Generic Reader: glsl-string (object)
Package

varjo.internals.

Methods
Reader Method: glsl-string ((v-sampler-cube-array-shadow v-sampler-cube-array-shadow))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

glsl-string.

Reader Method: glsl-string ((v-sampler-2d-rect-shadow v-sampler-2d-rect-shadow))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

glsl-string.

Reader Method: glsl-string ((v-sampler-2d-array-shadow v-sampler-2d-array-shadow))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

glsl-string.

Reader Method: glsl-string ((v-sampler-1d-array-shadow v-sampler-1d-array-shadow))

automatically generated reader method

Source

src/vari.types/types.lisp.

Target Slot

glsl-string.

Reader Method: glsl-string ((quads quads))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

glsl-string.

Reader Method: glsl-string ((triangle-strip-adjacency triangle-strip-adjacency))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

glsl-string.

Reader Method: glsl-string ((triangles-adjacency triangles-adjacency))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

glsl-string.

Reader Method: glsl-string ((triangle-strip triangle-strip))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

glsl-string.

Reader Method: glsl-string ((triangle-fan triangle-fan))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

glsl-string.

Reader Method: glsl-string ((triangles triangles))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

glsl-string.

Reader Method: glsl-string ((line-strip-adjacency line-strip-adjacency))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

glsl-string.

Reader Method: glsl-string ((lines-adjacency lines-adjacency))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

glsl-string.

Reader Method: glsl-string ((line-strip line-strip))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

glsl-string.

Reader Method: glsl-string ((line-loop line-loop))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

glsl-string.

Reader Method: glsl-string ((iso-lines iso-lines))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

glsl-string.

Reader Method: glsl-string ((lines lines))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

glsl-string.

Reader Method: glsl-string ((points points))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

glsl-string.

Reader Method: glsl-string ((qualifier qualifier))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

glsl-string.

Generic Reader: glsl-versions (object)
Package

varjo.internals.

Methods
Reader Method: glsl-versions ((external-function external-function))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

glsl-versions.

Generic Reader: ids (object)
Package

varjo.internals.

Methods
Reader Method: ids ((flow-identifier flow-identifier))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

ids.

Generic Reader: implicit-args (object)
Package

varjo.internals.

Methods
Reader Method: implicit-args ((v-function v-function))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

implicit-args.

Generic Reader: implicit-uniforms (object)

When passed an instance of ‘compiled-stage‘ this function returns a list of instances of ‘implicit-uniform-variable‘ which represent the uniforms which were added implicitly during the compilation of the given stage.

Package

varjo.internals.

Methods
Reader Method: implicit-uniforms ((compiled-stage compiled-stage))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

implicit-uniforms.

Generic Writer: (setf implicit-uniforms) (object)
Package

varjo.internals.

Methods
Writer Method: (setf implicit-uniforms) ((compiled-stage compiled-stage))

automatically generated writer method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

implicit-uniforms.

Generic Reader: in-arg-flow-ids (object)
Package

varjo.internals.

Methods
Reader Method: in-arg-flow-ids ((v-function v-function))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

in-arg-flow-ids.

Generic Reader: in-args (object)
Package

varjo.internals.

Methods
Reader Method: in-args ((external-function external-function))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

in-args.

Generic Reader: in-declarations (object)
Package

varjo.internals.

Methods
Reader Method: in-declarations ((post-compile-process post-compile-process))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

in-decl.

Generic Writer: (setf in-declarations) (object)
Package

varjo.internals.

Methods
Writer Method: (setf in-declarations) ((post-compile-process post-compile-process))

automatically generated writer method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

in-decl.

Generic Reader: in-out-args (object)
Package

varjo.internals.

Methods
Reader Method: in-out-args ((v-function v-function))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

in-out-args.

Generic Reader: input-variable-glsl (object)
Package

varjo.internals.

Methods
Reader Method: input-variable-glsl ((post-compile-process post-compile-process))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

input-variable-glsl.

Generic Writer: (setf input-variable-glsl) (object)
Package

varjo.internals.

Methods
Writer Method: (setf input-variable-glsl) ((post-compile-process post-compile-process))

automatically generated writer method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

input-variable-glsl.

Generic Reader: input-variables (object)

When passed an instance of ‘stage‘ this function returns a list of ‘input-variable‘ objects which respresent the input paramaters to the stage

Package

varjo.internals.

Methods
Reader Method: input-variables ((stage stage))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

input-variables.

Reader Method: input-variables ((post-compile-process post-compile-process))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

input-variables.

Generic Writer: (setf input-variables) (object)
Package

varjo.internals.

Methods
Writer Method: (setf input-variables) ((stage stage))

automatically generated writer method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

input-variables.

Writer Method: (setf input-variables) ((post-compile-process post-compile-process))

automatically generated writer method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

input-variables.

Generic Function: invocations (metadata)
Package

vari.cl.

Source

src/vari.cl/special-operators/emit.lisp.

Methods
Method: invocations ((metadata instancing))
Method: invocations ((metadata-collection list))
Generic Function: kind (metadata)
Package

vari.cl.

Source

src/vari.cl/special-operators/emit.lisp.

Methods
Method: kind ((metadata output-primitive))
Method: kind ((metadata-collection list))
Generic Reader: lisp-code (object)

When passed an instance of ‘stage‘, ‘lisp-code‘ returns the Vari code that acts as the body of the stage.

Package

varjo.internals.

Methods
Reader Method: lisp-code ((stage stage))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

lisp-code.

Generic Writer: (setf lisp-code) (object)
Package

varjo.internals.

Methods
Writer Method: (setf lisp-code) ((stage stage))

automatically generated writer method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

lisp-code.

Generic Reader: lisp-name (object)

When passed an instance of ‘primitive‘ this function returns the keyword name of the primitive. This is the name one would pass to functions like ‘make-stage‘.

Package

varjo.internals.

Methods
Reader Method: lisp-name ((patches patches))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

lisp-name.

Reader Method: lisp-name ((quads quads))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

lisp-name.

Reader Method: lisp-name ((triangle-strip-adjacency triangle-strip-adjacency))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

lisp-name.

Reader Method: lisp-name ((triangles-adjacency triangles-adjacency))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

lisp-name.

Reader Method: lisp-name ((triangle-strip triangle-strip))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

lisp-name.

Reader Method: lisp-name ((triangle-fan triangle-fan))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

lisp-name.

Reader Method: lisp-name ((triangles triangles))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

lisp-name.

Reader Method: lisp-name ((line-strip-adjacency line-strip-adjacency))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

lisp-name.

Reader Method: lisp-name ((lines-adjacency lines-adjacency))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

lisp-name.

Reader Method: lisp-name ((line-strip line-strip))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

lisp-name.

Reader Method: lisp-name ((line-loop line-loop))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

lisp-name.

Reader Method: lisp-name ((iso-lines iso-lines))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

lisp-name.

Reader Method: lisp-name ((lines lines))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

lisp-name.

Reader Method: lisp-name ((points points))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

lisp-name.

Generic Reader: location (object)

When called with an instance of ‘output-variable‘ this returns the location[0] of the variable. These will only be populated from ‘output-variable‘s from a ‘fragment-stage‘.

> ‘[0]‘ For info on the fragment output locations please see:
> https://www.khronos.org/opengl/wiki/Fragment_Shader#Output_buffers

Package

varjo.internals.

Methods
Reader Method: location ((output-variable output-variable))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

location.

Generic Reader: main-metadata (object)
Package

varjo.internals.

Methods
Reader Method: main-metadata ((post-compile-process post-compile-process))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

main-metadata.

Generic Writer: (setf main-metadata) (object)
Package

varjo.internals.

Methods
Writer Method: (setf main-metadata) ((post-compile-process post-compile-process))

automatically generated writer method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

main-metadata.

Generic Function: make-regular-macro (name macro-function context env)
Package

varjo.internals.

Source

src/varjo.internals/macros.lisp.

Methods
Method: make-regular-macro (name macro-function context env)
Generic Function: make-symbol-macro (expansion-form function-scope env)
Package

varjo.internals.

Source

src/varjo.internals/macros.lisp.

Methods
Method: make-symbol-macro (expansion-form function-scope env)
Generic Function: max-vertices (metadata)
Package

vari.cl.

Source

src/vari.cl/special-operators/emit.lisp.

Methods
Method: max-vertices ((metadata output-primitive))
Method: max-vertices ((metadata-collection list))
Generic Function: merge-compiled (objs &key type-set emit-set return-set current-line to-block stemcells out-of-scope-args place-tree pure used-types called-funcs)
Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Method: merge-compiled ((objs list) &key type-set current-line to-block emit-set return-set stemcells out-of-scope-args place-tree pure used-types called-funcs)
Source

src/varjo.internals/code-object.lisp.

Generic Function: metadata-for-argument (name metadata-key env)

When given an ‘environment‘ object from a Vari compiler-macro and a symbol that names one of the arguments to the macro[0], ‘metadata-for-argument‘ returns an object that holds the compile time metadata for the value

[0] the argument cannot be the &whole or &environment argument.

Package

varjo.api.

Source

src/varjo.api/environment.lisp.

Methods
Method: metadata-for-argument ((name symbol) (metadata-key symbol) (env macro-expansion-environment))
Method: metadata-for-argument ((name symbol) (metadata-key symbol) (env compiler-macro-expansion-environment))
Generic Function: metadata-for-flow-id (metadata-kind flow-id env)
Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Method: metadata-for-flow-id (metadata-kind flow-id (env expansion-env))
Source

src/varjo.internals/environment.lisp.

Method: metadata-for-flow-id ((metadata-kind symbol) (flow-id flow-identifier) (env environment))
Source

src/varjo.internals/environment.lisp.

Generic Function: (setf metadata-for-flow-id) (flow-id env)
Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Method: (setf metadata-for-flow-id) ((flow-id flow-identifier) (env environment))
Source

src/varjo.internals/environment.lisp.

Generic Function: metadata-for-variable (name metadata-key env)

When given an ‘environment‘ object from a Vari compiler-macro and a symbol that names a variable currently in scope to the macro[0], ‘metadata-for-variable‘ returns an object that holds the compile time metadata for the value bound to that variable.

[0] the argument cannot be the &whole or &environment argument.

Package

varjo.api.

Source

src/varjo.api/environment.lisp.

Methods
Method: metadata-for-variable ((name symbol) (metadata-key symbol) (env extended-environment))
Generic Function: name (obj)

When passed an instance of ‘qualfiier‘ ‘shader-variable or ‘external-function‘ the function returns the name of the qualfiier/variable/function respectively.

Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Reader Method: name ((v-function v-function))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

name.

Reader Method: name ((v-compiler-macro v-compiler-macro))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

name.

Reader Method: name ((v-regular-macro v-regular-macro))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

name.

Reader Method: name ((captured-var captured-var))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

name.

Reader Method: name ((stemcell stemcell))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

name.

Reader Method: name ((external-function external-function))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

name.

Reader Method: name ((qualifier qualifier))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

name.

Reader Method: name ((shader-variable shader-variable))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

name.

Method: name ((compiled-func compiled-function-result))
Source

src/varjo.internals/internal-types.lisp.

Generic Function: nth-return-name (n stage &optional include-instance-name)
Package

varjo.internals.

Source

src/varjo.internals/return-set.lisp.

Methods
Method: nth-return-name (n (stage stage) &optional include-instance-name)
Method: nth-return-name (n (stage tessellation-control-stage) &optional include-instance-name)
Method: nth-return-name (n (stage tessellation-evaluation-stage) &optional include-instance-name)
Method: nth-return-name (n (stage vertex-stage) &optional include-instance-name)
Method: nth-return-name (n (stage fragment-stage) &optional include-instance-name)
Generic Function: order (metadata)
Package

vari.cl.

Source

src/vari.cl/special-operators/emit.lisp.

Methods
Method: order ((metadata tessellate-to))
Method: order ((metadata-collection list))
Generic Reader: origin-env (object)
Package

varjo.internals.

Methods
Reader Method: origin-env ((captured-var captured-var))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

origin-env.

Generic Reader: out-declarations (object)
Package

varjo.internals.

Methods
Reader Method: out-declarations ((post-compile-process post-compile-process))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

out-decl.

Generic Writer: (setf out-declarations) (object)
Package

varjo.internals.

Methods
Writer Method: (setf out-declarations) ((post-compile-process post-compile-process))

automatically generated writer method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

out-decl.

Generic Reader: out-of-scope-args (object)
Package

varjo.internals.

Methods
Reader Method: out-of-scope-args ((compiled compiled))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

out-of-scope-args.

Generic Reader: out-set (object)
Package

varjo.internals.

Methods
Reader Method: out-set ((post-compile-process post-compile-process))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

out-set.

Generic Writer: (setf out-set) (object)
Package

varjo.internals.

Methods
Writer Method: (setf out-set) ((post-compile-process post-compile-process))

automatically generated writer method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

out-set.

Generic Reader: output-variable-glsl (object)
Package

varjo.internals.

Methods
Reader Method: output-variable-glsl ((post-compile-process post-compile-process))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

output-variable-glsl.

Generic Writer: (setf output-variable-glsl) (object)
Package

varjo.internals.

Methods
Writer Method: (setf output-variable-glsl) ((post-compile-process post-compile-process))

automatically generated writer method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

output-variable-glsl.

Generic Reader: output-variables (object)

When passed an instance of ‘compiled-stage‘ this function returns a list of instances of ‘output-variable‘ which represent the data output from the given stage.

Package

varjo.internals.

Methods
Reader Method: output-variables ((compiled-stage compiled-stage))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

output-variables.

Reader Method: output-variables ((post-compile-process post-compile-process))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

output-variables.

Generic Writer: (setf output-variables) (object)
Package

varjo.internals.

Methods
Writer Method: (setf output-variables) ((compiled-stage compiled-stage))

automatically generated writer method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

output-variables.

Writer Method: (setf output-variables) ((post-compile-process post-compile-process))

automatically generated writer method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

output-variables.

Generic Reader: place-tree (object)
Package

varjo.internals.

Methods
Reader Method: place-tree ((compiled compiled))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

place-tree.

Generic Reader: previous-stage (object)
Package

varjo.internals.

Methods
Reader Method: previous-stage ((stage stage))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

previous-stage.

Generic Writer: (setf previous-stage) (object)
Package

varjo.internals.

Methods
Writer Method: (setf previous-stage) ((stage stage))

automatically generated writer method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

previous-stage.

Generic Function: primary-type (compiled)
Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Method: primary-type ((set vector))
Source

src/varjo.internals/code-object.lisp.

Method: primary-type ((compiled compiled))
Source

src/varjo.internals/code-object.lisp.

Generic Function: primitive (metadata)
Package

varjo.internals.

Source

src/vari.cl/special-operators/emit.lisp.

Methods
Method: primitive ((metadata tessellate-to))
Method: primitive ((metadata-collection list))
Generic Function: primitive-in (pp)

When passed an instance of ‘stage‘ this function returns an instance of ‘primitive‘ or nil.

Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Method: primitive-in ((env environment))
Source

src/varjo.internals/environment.lisp.

Reader Method: primitive-in ((stage stage))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

primitive-in.

Method: primitive-in ((pp post-compile-process))
Source

src/varjo.internals/internal-types.lisp.

Generic Writer: (setf primitive-in) (object)
Package

varjo.internals.

Methods
Writer Method: (setf primitive-in) ((stage stage))

automatically generated writer method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

primitive-in.

Generic Reader: primitive-out (object)

When passed an instance of ‘compiled-stage‘ this function returns either NIL or an instance of ’primitive’. This represent the primitive that could/was be passed to the next stage.

Package

varjo.internals.

Methods
Reader Method: primitive-out ((compiled-stage compiled-stage))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

primitive-out.

Reader Method: primitive-out ((post-compile-process post-compile-process))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

primitive-out.

Generic Writer: (setf primitive-out) (object)
Package

varjo.internals.

Methods
Writer Method: (setf primitive-out) ((compiled-stage compiled-stage))

automatically generated writer method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

primitive-out.

Writer Method: (setf primitive-out) ((post-compile-process post-compile-process))

automatically generated writer method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

primitive-out.

Generic Reader: pure-p (object)
Package

varjo.internals.

Methods
Reader Method: pure-p ((v-function v-function))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

pure.

Reader Method: pure-p ((compiled compiled))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

pure.

Generic Function: qualifier= (qual-a qual-b)
Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Method: qualifier= (a b)
Source

src/varjo.internals/qualifiers.lisp.

Method: qualifier= ((qual-a feedback-qualifier) (qual-b feedback-qualifier))
Source

src/varjo.internals/qualifiers.lisp.

Method: qualifier= ((qual-a qualifier) (qual-b qualifier))
Source

src/varjo.internals/qualifiers.lisp.

Generic Function: qualifiers (obj)

When passed an instance of ‘shader-variable‘ or Varjo type object this function returns a list of any qualifiers that apply to the value (of the variable or the value to which the type applies)

Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Reader Method: qualifiers ((v-type v-type))

automatically generated reader method

Source

src/varjo.internals/types/early-types.lisp.

Target Slot

qualifiers.

Method: qualifiers ((obj shader-variable))
Source

src/varjo.internals/qualifiers.lisp.

Generic Function: qualify-type (type qualifiers)
Package

varjo.internals.

Source

src/varjo.internals/generics.lisp.

Methods
Method: qualify-type ((type v-type) qualifiers)
Source

src/varjo.internals/types/early-types.lisp.

Generic Reader: raw-out-set (object)
Package

varjo.internals.

Methods
Reader Method: raw-out-set ((post-compile-process post-compile-process))

automatically generated reader method

Source

src/varjo.internals/internal-types.lisp.

Target Slot

raw-out-set.

Generic Writer: (setf raw-out-set) (object)