The 3bgl-shader Reference Manual

This is the 3bgl-shader Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sat Dec 03 19:19:09 2022 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 3bgl-shader

CL-hosted CL-like DSL for generating GLSL

Author

Bart Botta

License

MIT

Dependencies
  • alexandria (system).
  • bordeaux-threads (system).
  • cl-opengl (system).
Source

3bgl-shader.asd.

Child Components

3 Files

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


3.1 Lisp


3.1.1 3bgl-shader/3bgl-shader.asd

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

ASDF Systems

3bgl-shader.


3.1.2 3bgl-shader/package.lisp

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Packages

3.1.3 3bgl-shader/ir.lisp

Dependency

package.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Public Interface

initialize-instance (method).

Internals

3.1.4 3bgl-shader/walker.lisp

Dependency

ir.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Internals

3.1.5 3bgl-shader/types.lisp

Dependency

walker.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Public Interface
Internals

3.1.6 3bgl-shader/infer.lisp

Dependency

types.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Internals

3.1.7 3bgl-shader/glsl-base.lisp

Dependency

infer.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Public Interface
Internals

3.1.8 3bgl-shader/cl-functions.lisp

Dependency

glsl-base.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Internals

3.1.9 3bgl-shader/glsl.lisp

Dependency

cl-functions.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).


3.1.10 3bgl-shader/finalize-inference.lisp

Dependency

glsl.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Internals

3.1.11 3bgl-shader/printer.lisp

Dependency

finalize-inference.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Internals

3.1.12 3bgl-shader/compiler.lisp

Dependency

printer.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Internals

3.1.13 3bgl-shader/api.lisp

Dependency

compiler.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Public Interface
Internals

3.1.14 3bgl-shader/old-utils.lisp

Dependency

api.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Internals

3.1.15 3bgl-shader/utils.lisp

Dependency

old-utils.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Internals

4 Packages

Packages are listed by definition order.


4.1 3bgl-glsl/cl

Source

package.lisp.

Use List

4.2 3bgl-glsl

Source

package.lisp.

Use List

common-lisp.

Used By List

3bgl-glsl/cl.

Public Interface
Internals

4.3 3bgl-shaders

Source

package.lisp.

Use List

common-lisp.

Public Interface
Internals

5 Definitions

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


5.1 Public Interface


5.1.1 Special variables

Special Variable: *default-version*
Package

3bgl-shaders.

Source

api.lisp.

Special Variable: *modified-function-hook*

list of functions to call when shader functions are
modified. Passed a list of names of functions that have been modified. May be called multiple times for same function if a whole file using the 3bgl-glsl:defun macro is recompiled, so probably should store names and only update shader programs at next frame rather than updating programs directly from hook function.

Package

3bgl-shaders.

Source

api.lisp.


5.1.2 Macros

Macro: attribute (name type &rest args &key location)
Package

3bgl-glsl.

Source

api.lisp.

Macro: bind-interface (stage block-name interface-qualifier instance-name)
Package

3bgl-glsl.

Source

api.lisp.

Macro: defconstant (name value type)
Package

3bgl-glsl.

Source

api.lisp.

Macro: defmacro (name args &body body)
Package

3bgl-glsl.

Source

api.lisp.

Macro: defstruct (name &rest slots)
Package

3bgl-glsl.

Source

api.lisp.

Macro: defun (name args &body body)
Package

3bgl-glsl.

Source

api.lisp.

Macro: glsl-attribute (name type &rest args &key location)
Package

3bgl-glsl.

Source

glsl-base.lisp.

Macro: glsl-defconstant (name value type)
Package

3bgl-glsl.

Source

glsl-base.lisp.

Macro: glsl-defun (name args &body body)
Package

3bgl-glsl.

Source

glsl-base.lisp.

Macro: glsl-input (name type &rest args &key stage location)
Package

3bgl-glsl.

Source

glsl-base.lisp.

Macro: glsl-interface (name (&rest args &key in out uniform) &body slots)
Package

3bgl-glsl.

Source

glsl-base.lisp.

Macro: glsl-output (name type &rest args &key stage location)
Package

3bgl-glsl.

Source

glsl-base.lisp.

Macro: glsl-uniform (name type &rest args &key stage location)
Package

3bgl-glsl.

Source

glsl-base.lisp.

Macro: input (name type &rest args &key stage location qualifiers)
Package

3bgl-glsl.

Source

api.lisp.

Macro: interface (name (&rest args &key in out uniform buffer layout) &body slots)
Package

3bgl-glsl.

Source

api.lisp.

Macro: output (name type &rest args &key stage location qualifiers)
Package

3bgl-glsl.

Source

api.lisp.

Macro: shared (name type &rest args &key stage layout qualifiers &allow-other-keys)
Package

3bgl-glsl.

Source

api.lisp.

Macro: uniform (name type &rest args &key stage location internal layout qualifiers default &allow-other-keys)
Package

3bgl-glsl.

Source

api.lisp.


5.1.3 Ordinary functions

Function: compile-form (form)

Run first passes of compilation on specified form. (Wrap with PROGN to process multiple forms). Calls functions in *MODIFIED-FUNCTION-HOOK* with names of any functions whose definitions are possibly affected by compiling FORM (for example functions that call a function defined/updated by FORM, and the (re)defined function itself).

Package

3bgl-shaders.

Source

api.lisp.

Function: generate-stage (stage main &key backend version extensions expand-uniforms)

Generate GLSL shader for specified STAGE, using function named by MAIN as glsl ’main’ function. ROOT and all functions/variables/etc it depends on should already have been successfully compiled with COMPILE-FORM. STAGE is :VERTEX, :FRAGMENT, :GEOMETRY, :TESS-EVAL, :TESS-CONTROL, or :COMPUTE. VERSION specifies the value of the version pragma in generated shader, but doesn’t otherwise affect generated code currently. Returns a list of active uniforms in the
form (LISP-NAME "glslName" type . PROPERTIES) as second value, and a list of active attributes in same format as third value. (GL shader types like :VERTEX-SHADER are also accepted for STAGE)

For uniforms, PROPERTIES is a plist containing 0 or more of:

:COMPONENTS : (when EXPAND-UNIFORMS is true) for composite uniforms (structs, etc), a list containing a list of uniform name and slot names or array indices for each leaf uniform represented by the type, for example a struct uniform containing an array of structs might have entries that look like (foo bar 1 baz) corresponding to the uniform "foo.bar[1].baz".

Package

3bgl-shaders.

Source

api.lisp.


5.1.4 Generic functions

Generic Reader: stage (object)
Package

3bgl-shaders.

Methods
Reader Method: stage ((interface-stage-binding interface-stage-binding))

automatically generated reader method

Source

types.lisp.

Target Slot

stage.

Generic Writer: (setf stage) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf stage) ((interface-stage-binding interface-stage-binding))

automatically generated writer method

Source

types.lisp.

Target Slot

stage.


5.1.5 Standalone methods

Method: initialize-instance :after ((i constant-binding) &key &allow-other-keys)
Source

ir.lisp.

Writer Method: (setf modified) ((generic-type generic-type))

automatically generated writer method

Package

keyword.

Source

types.lisp.

Target Slot

modified.

Reader Method: modified ((generic-type generic-type))

automatically generated reader method

Package

keyword.

Source

types.lisp.

Target Slot

modified.


5.2 Internals


5.2.1 Special variables

Special Variable: *add-conflict-vars*

if bound, should be a hash of variable names to flag as conflicts when adding variable if value in hash is :CONFLICT.

Package

3bgl-shaders.

Source

walker.lisp.

Special Variable: *binding-types*
Package

3bgl-shaders.

Source

finalize-inference.lisp.

Special Variable: *bound-program*
Package

3bgl-shaders.

Source

utils.lisp.

Special Variable: *check-conflict-vars*

if bound, should be a hash of variable names to flag as conflicts when looking up variable. Names are flagged by setting value in hash to :CONFLICT.

Package

3bgl-shaders.

Source

walker.lisp.

Special Variable: *cl-environment*
Package

3bgl-shaders.

Source

walker.lisp.

Special Variable: *compiler-lock*
Package

3bgl-shaders.

Source

api.lisp.

Special Variable: *copy-constraints-hash*

used to track already copied constraints when copying type inference data

Package

3bgl-shaders.

Source

infer.lisp.

Special Variable: *current-function*

current function being compiled if any

Package

3bgl-glsl.

Source

glsl-base.lisp.

Special Variable: *current-function-local-types*
Package

3bgl-shaders.

Source

infer.lisp.

Special Variable: *current-function-return-type*
Package

3bgl-shaders.

Source

infer.lisp.

Special Variable: *current-function-stages*
Package

3bgl-shaders.

Source

infer.lisp.

Special Variable: *current-shader-stage*
Package

3bgl-shaders.

Source

types.lisp.

Special Variable: *default-backend*
Package

3bgl-shaders.

Source

api.lisp.

Special Variable: *default-extensions*
Package

3bgl-shaders.

Source

api.lisp.

Special Variable: *default-recompilation-callback*
Package

3bgl-shaders.

Source

utils.lisp.

Special Variable: *depth*
Package

3bgl-shaders.

Source

walker.lisp.

Special Variable: *environment*

current local environment

Package

3bgl-shaders.

Source

walker.lisp.

Special Variable: *function-stages*
Package

3bgl-shaders.

Source

compiler.lisp.

Special Variable: *global-environment*

current global environment

Package

3bgl-shaders.

Source

walker.lisp.

Special Variable: *glsl-base-environment*
Package

3bgl-glsl.

Source

walker.lisp.

Special Variable: *in-expression*
Package

3bgl-shaders.

Source

printer.lisp.

Special Variable: *inference-worklist*
Package

3bgl-shaders.

Source

infer.lisp.

Special Variable: *instantiated-overloads*
Package

3bgl-shaders.

Source

finalize-inference.lisp.

Special Variable: *interface-qualifier-order*
Package

3bgl-shaders.

Source

printer.lisp.

Special Variable: *internal-function-printers*
Package

3bgl-shaders.

Source

printer.lisp.

Special Variable: *known-declarations*
Package

3bgl-shaders.

Source

types.lisp.

Special Variable: *live-variables*
Package

3bgl-shaders.

Source

printer.lisp.

Special Variable: *max-depth*
Package

3bgl-shaders.

Source

walker.lisp.

Special Variable: *new-function-definitions*
Package

3bgl-shaders.

Source

compiler.lisp.

Special Variable: *new-global-definitions*
Package

3bgl-shaders.

Source

compiler.lisp.

Special Variable: *new-type-definitions*
Package

3bgl-shaders.

Source

compiler.lisp.

Special Variable: *package-environments*
Package

3bgl-shaders.

Source

walker.lisp.

Special Variable: *pprint-glsl*
Package

3bgl-shaders.

Source

printer.lisp.

Special Variable: *print-as-main*
Package

3bgl-shaders.

Source

printer.lisp.

Special Variable: *print-shaders*
Package

3bgl-shaders.

Source

utils.lisp.

Special Variable: *shader-program-hook*
Package

3bgl-shaders.

Source

utils.lisp.

Special Variable: *shader-type->stage*
Package

3bgl-shaders.

Source

api.lisp.

Special Variable: *stage-name-map*
Package

3bgl-shaders.

Source

utils.lisp.

Special Variable: *tree-shaker-current-object*
Package

3bgl-shaders.

Source

compiler.lisp.

Special Variable: *tree-shaker-hook*
Package

3bgl-shaders.

Source

compiler.lisp.

Special Variable: *tree-shaker-type-hook*
Package

3bgl-shaders.

Source

compiler.lisp.

Special Variable: *verbose*

enable debugging printouts

Package

3bgl-shaders.

Source

walker.lisp.


5.2.2 Macros

Macro: %glsl-compiler-macro (name lambda-list &body body)
Package

3bgl-shaders.

Source

types.lisp.

Macro: %glsl-macro (name lambda-list &body body)
Package

3bgl-shaders.

Source

types.lisp.

Macro: assert-statement ()
Package

3bgl-shaders.

Source

printer.lisp.

Macro: defclmacro (name lambda-list &body body)
Package

3bgl-shaders.

Source

walker.lisp.

Macro: defmethod2 (name (a b) &body body)
Package

3bgl-shaders.

Source

infer.lisp.

Macro: defprint (type (object) &body body)
Package

3bgl-shaders.

Source

printer.lisp.

Macro: defprint-binop (op c-op 0-arg 1-arg)
Package

3bgl-shaders.

Source

printer.lisp.

Macro: defprinti ((form &rest args) (&optional call) &body body)
Package

3bgl-shaders.

Source

printer.lisp.

Macro: defwalker (walker (form &rest args) &body body)
Package

3bgl-shaders.

Source

walker.lisp.

Macro: glsl-bind-interface (stage block-name interface-qualifier instance-name)
Package

3bgl-glsl.

Source

glsl-base.lisp.

Macro: with-environment-scope (() &body body)
Package

3bgl-shaders.

Source

walker.lisp.

Macro: with-lambda-list-vars ((function) &body body)
Package

3bgl-shaders.

Source

walker.lisp.

Macro: with-package-environment ((&optional symbol) &body body)
Package

3bgl-glsl.

Source

glsl-base.lisp.

Macro: with-program ((program &key error-p) &body body)
Package

3bgl-shaders.

Source

utils.lisp.


5.2.3 Ordinary functions

Function: %reload-program (shader-program)
Package

3bgl-shaders.

Source

utils.lisp.

Function: %translate-name (x &key lc-underscore)
Package

3bgl-shaders.

Source

printer.lisp.

Function: add-compiler-macro (name lambda &key env)
Package

3bgl-shaders.

Source

walker.lisp.

Function: add-concrete-type (name glsl-name &key env type)
Package

3bgl-shaders.

Source

types.lisp.

Function: add-function (name lambda-list body &key declarations docs env function-type binding)
Package

3bgl-shaders.

Source

walker.lisp.

Function: add-function-arguments (function &key env)
Package

3bgl-shaders.

Source

walker.lisp.

Function: add-internal-function/full (name lambda-list type &key glsl-name cast)
Package

3bgl-shaders.

Source

cl-functions.lisp.

Function: add-internal-function/mat (name lambda-list count return-type &key glsl-name)
Package

3bgl-shaders.

Source

cl-functions.lisp.

Function: add-internal-function/s (name lambda-list arg-types return-type &key glsl-name cast)
Package

3bgl-shaders.

Source

cl-functions.lisp.

Function: add-macro (name lambda &key env)
Package

3bgl-shaders.

Source

walker.lisp.

Function: add-symbol-macro (name expansion &key env)
Package

3bgl-shaders.

Source

walker.lisp.

Function: add-unknown-function (name &key env)
Package

3bgl-shaders.

Source

walker.lisp.

Function: add-variable (name init &key env binding type value-type)
Package

3bgl-shaders.

Source

walker.lisp.

Function: bind-interface (stage type interface-qualifier name &key internal glsl-name array layout-qualifier)
Package

3bgl-shaders.

Source

types.lisp.

Function: cache-binding (binding type)
Package

3bgl-shaders.

Source

finalize-inference.lisp.

Function: call-with-package-environment (thunk &key package)
Package

3bgl-glsl.

Source

glsl-base.lisp.

Function: cast-to-boolean (type)
Package

3bgl-shaders.

Source

infer.lisp.

Function: check-locked (environment name)
Package

3bgl-shaders.

Source

walker.lisp.

Function: copy-unify-constraints (type unify-type &key cast name)
Package

3bgl-shaders.

Source

infer.lisp.

Function: debug-local-binding-type-data (hash)
Package

3bgl-shaders.

Source

infer.lisp.

Function: debug-type-names (type)
Package

3bgl-shaders.

Source

infer.lisp.

Function: default-env (name)
Package

3bgl-shaders.

Source

walker.lisp.

Function: ensure-compiled (program)
Package

3bgl-shaders.

Source

utils.lisp.

Function: ensure-package-environment (package)
Package

3bgl-shaders.

Source

walker.lisp.

Function: expand-buffers (buffers)
Package

3bgl-shaders.

Source

api.lisp.

Function: expand-extension-keyword (ext)
Package

3bgl-shaders.

Source

api.lisp.

Function: expand-optional-arg-type (o-a-t)
Package

3bgl-shaders.

Source

infer.lisp.

Function: expand-structs (structs)
Package

3bgl-shaders.

Source

api.lisp.

Function: expand-uniforms (uniforms expand)
Package

3bgl-shaders.

Source

api.lisp.

Function: filter-progn (x)
Package

3bgl-glsl.

Source

glsl-base.lisp.

Function: finalize-inference (root)
Package

3bgl-shaders.

Source

finalize-inference.lisp.

Function: flag-modified-constraint (constraint)
Package

3bgl-shaders.

Source

infer.lisp.

Function: flag-modified-type (type)
Package

3bgl-shaders.

Source

infer.lisp.

Function: flag-shader (shader-program function)
Package

3bgl-shaders.

Source

utils.lisp.

Function: flatten-function (function argument-types)
Package

3bgl-shaders.

Source

finalize-inference.lisp.

Function: function-signature-changed (fun)
Package

3bgl-shaders.

Source

ir.lisp.

Function: get-compiler-macro-binding (name &key env)
Package

3bgl-shaders.

Source

walker.lisp.

Function: get-compiler-macro-function (name)
Package

3bgl-shaders.

Source

walker.lisp.

Function: get-function-binding (name &key env)
Package

3bgl-shaders.

Source

walker.lisp.

Function: get-macro-function (name)
Package

3bgl-shaders.

Source

walker.lisp.

Function: get-only-hash-key (hash)
Package

3bgl-shaders.

Source

infer.lisp.

Function: get-symbol-macro (name)
Package

3bgl-shaders.

Source

walker.lisp.

Function: get-type-binding (name &key env)
Package

3bgl-shaders.

Source

walker.lisp.

Function: get-variable-binding (name &key env)
Package

3bgl-shaders.

Source

walker.lisp.

Function: global-env (name)
Package

3bgl-shaders.

Source

walker.lisp.

Function: in/out/uniform/attrib (qualifier %name type &key location internal stage index layout qualifiers default)
Package

3bgl-shaders.

Source

types.lisp.

Function: infer (function)
Package

3bgl-shaders.

Source

infer.lisp.

Function: infer-modified-functions (functions)
Package

3bgl-shaders.

Source

infer.lisp.

Function: lambda-list-vars (lambda-list)
Package

3bgl-shaders.

Source

walker.lisp.

Function: make-&key-expander (lambda-list)
Package

3bgl-shaders.

Source

walker.lisp.

Function: pprint-glsl (form)
Package

3bgl-shaders.

Source

printer.lisp.

Function: print-bindings/ret (name bindings ret)
Package

3bgl-shaders.

Source

infer.lisp.

Function: print-main-layout-qualifiers (q)
Package

3bgl-shaders.

Source

printer.lisp.

Function: reload-program (old v f &key errorp verbose geometry version)

compile program from shaders named by V and F, on success, delete program OLD and return new program, otherwise return OLD

Package

3bgl-shaders.

Source

old-utils.lisp.

Function: remove-function (name &key env)
Package

3bgl-shaders.

Source

walker.lisp.

Function: reset-program (shader-program)
Package

3bgl-shaders.

Source

utils.lisp.

Function: run-type-inference ()
Package

3bgl-shaders.

Source

infer.lisp.

Function: set-type (types &key constraint)
Package

3bgl-shaders.

Source

infer.lisp.

Function: shader-program (&rest r &key vertex fragment geometry tess-control tess-evaluation compute &allow-other-keys)
Package

3bgl-shaders.

Source

utils.lisp.

Function: sort-interface-qualifiers (q)
Package

3bgl-shaders.

Source

printer.lisp.

Function: topo-sort-dependencies (roots child-function)
Package

3bgl-shaders.

Source

infer.lisp.

Function: translate-interface-qualifiers (q)
Package

3bgl-shaders.

Source

printer.lisp.

Function: tree-shaker (root)
Package

3bgl-shaders.

Source

compiler.lisp.

Function: (setf uniform) (program &rest names-and-indices)
Package

3bgl-shaders.

Source

utils.lisp.

Function: uniform-index (program name)
Package

3bgl-shaders.

Source

old-utils.lisp.

Function: uniform-matrix (program name m)
Package

3bgl-shaders.

Source

old-utils.lisp.

Function: uniform-matrix-2fv (location matrices &optional transpose)
Package

3bgl-shaders.

Source

utils.lisp.

Function: uniform-matrix-2x3-fv (location matrices &optional transpose)
Package

3bgl-shaders.

Source

utils.lisp.

Function: uniform-matrix-2x4-fv (location matrices &optional transpose)
Package

3bgl-shaders.

Source

utils.lisp.

Function: uniform-matrix-3fv (location matrices &optional transpose)
Package

3bgl-shaders.

Source

utils.lisp.

Function: uniform-matrix-3x2-fv (location matrices &optional transpose)
Package

3bgl-shaders.

Source

utils.lisp.

Function: uniform-matrix-3x4-fv (location matrices &optional transpose)
Package

3bgl-shaders.

Source

utils.lisp.

Function: uniform-matrix-4fv (location matrices &optional transpose)
Package

3bgl-shaders.

Source

utils.lisp.

Function: uniform-matrix-4x2-fv (location matrices &optional transpose)
Package

3bgl-shaders.

Source

utils.lisp.

Function: uniform-matrix-4x3-fv (location matrices &optional transpose)
Package

3bgl-shaders.

Source

utils.lisp.

Function: uniformf (program name x &optional y z w)
Package

3bgl-shaders.

Source

old-utils.lisp.

Function: uniformfv (program name v)
Package

3bgl-shaders.

Source

old-utils.lisp.

Function: uniformi (program name value)
Package

3bgl-shaders.

Source

old-utils.lisp.

Function: update-dependencies (form)
Package

3bgl-shaders.

Source

compiler.lisp.

Function: vector->{} (x)
Package

3bgl-shaders.

Source

printer.lisp.

Function: walk-function-body (walker lambda-list body)
Package

3bgl-shaders.

Source

walker.lisp.


5.2.4 Generic functions

Generic Function: %print (object stream)
Package

3bgl-shaders.

Source

printer.lisp.

Methods
Method: %print ((o constant-binding) *standard-output*)
Method: %print ((o interface-binding) *standard-output*)
Method: %print ((o struct-type) *standard-output*)
Method: %print ((o for-loop) *standard-output*)
Method: %print ((o if-form) *standard-output*)
Method: %print ((o variable-write) *standard-output*)
Method: %print ((o variable-read) *standard-output*)
Method: %print ((o binding-scope) *standard-output*)
Method: %print ((o implicit-progn) *standard-output*)
Method: %print ((o progn-body) *standard-output*)
Method: %print ((o function-call) *standard-output*)
Method: %print ((o global-function) *standard-output*)
Method: %print ((o array-access) *standard-output*)
Method: %print ((o swizzle-access) *standard-output*)
Method: %print ((o slot-access) *standard-output*)
Method: %print ((o binding) *standard-output*)
Method: %print ((o initialized-binding) *standard-output*)
Method: %print ((o array-initialization) *standard-output*)
Method: %print ((o symbol) s)
Method: %print (object stream)
Generic Function: (setf %uniform) (program &rest names-and-indices)
Package

3bgl-shaders.

Methods
Method: (setf %uniform) ((program shader-program) &rest names-and-indices)
Source

utils.lisp.

Generic Function: add-constraint (ctype constraint)
Package

3bgl-shaders.

Methods
Method: add-constraint ((ctype ref-type) constraint)
Source

infer.lisp.

Method: add-constraint ((ctype optional-arg-type) constraint)
Source

infer.lisp.

Method: add-constraint ((ctype any-type) constraint)
Source

infer.lisp.

Method: add-constraint ((ctype constrained-type) constraint)
Source

infer.lisp.

Method: add-constraint (ctype constraint)
Source

infer.lisp.

Generic Reader: allow-casts (object)
Package

3bgl-shaders.

Methods
Reader Method: allow-casts ((binding binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

allow-casts.

Generic Writer: (setf allow-casts) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf allow-casts) ((binding binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

allow-casts.

Generic Reader: arg-type (object)
Package

3bgl-shaders.

Methods
Reader Method: arg-type ((optional-arg-type optional-arg-type))

automatically generated reader method

Source

infer.lisp.

Target Slot

arg-type.

Generic Writer: (setf arg-type) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf arg-type) ((optional-arg-type optional-arg-type))

automatically generated writer method

Source

infer.lisp.

Target Slot

arg-type.

Generic Reader: argument-environment (object)
Package

3bgl-shaders.

Methods
Reader Method: argument-environment ((array-initialization array-initialization))

automatically generated reader method

Source

ir.lisp.

Target Slot

argument-environment.

Reader Method: argument-environment ((function-call function-call))

automatically generated reader method

Source

ir.lisp.

Target Slot

argument-environment.

Generic Writer: (setf argument-environment) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf argument-environment) ((array-initialization array-initialization))

automatically generated writer method

Source

ir.lisp.

Target Slot

argument-environment.

Writer Method: (setf argument-environment) ((function-call function-call))

automatically generated writer method

Source

ir.lisp.

Target Slot

argument-environment.

Generic Reader: argument-types (object)
Package

3bgl-shaders.

Methods
Reader Method: argument-types ((global-function-constraint global-function-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

argument-types.

Reader Method: argument-types ((function-application function-application))

automatically generated reader method

Source

infer.lisp.

Target Slot

argument-types.

Generic Writer: (setf argument-types) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf argument-types) ((global-function-constraint global-function-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

argument-types.

Writer Method: (setf argument-types) ((function-application function-application))

automatically generated writer method

Source

infer.lisp.

Target Slot

argument-types.

Generic Reader: arguments (object)
Package

3bgl-shaders.

Methods
Reader Method: arguments ((array-initialization array-initialization))

automatically generated reader method

Source

ir.lisp.

Target Slot

arguments.

Reader Method: arguments ((function-call function-call))

automatically generated reader method

Source

ir.lisp.

Target Slot

arguments.

Generic Writer: (setf arguments) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf arguments) ((array-initialization array-initialization))

automatically generated writer method

Source

ir.lisp.

Target Slot

arguments.

Writer Method: (setf arguments) ((function-call function-call))

automatically generated writer method

Source

ir.lisp.

Target Slot

arguments.

Generic Reader: array-size (object)
Package

3bgl-shaders.

Methods
Reader Method: array-size ((interface-binding interface-binding))

automatically generated reader method

Source

types.lisp.

Target Slot

array-size.

Reader Method: array-size ((interface-stage-binding interface-stage-binding))

automatically generated reader method

Source

types.lisp.

Target Slot

array-size.

Reader Method: array-size ((array-type array-type))

automatically generated reader method

Source

types.lisp.

Target Slot

array-size.

Generic Writer: (setf array-size) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf array-size) ((interface-binding interface-binding))

automatically generated writer method

Source

types.lisp.

Target Slot

array-size.

Writer Method: (setf array-size) ((interface-stage-binding interface-stage-binding))

automatically generated writer method

Source

types.lisp.

Target Slot

array-size.

Writer Method: (setf array-size) ((array-type array-type))

automatically generated writer method

Source

types.lisp.

Target Slot

array-size.

Generic Function: array-suffix (x)
Package

3bgl-shaders.

Methods
Method: array-suffix ((x interface-stage-binding))
Source

printer.lisp.

Method: array-suffix ((x interface-binding))
Source

printer.lisp.

Method: array-suffix ((x array-type))
Source

printer.lisp.

Method: array-suffix (x)
Source

printer.lisp.

Generic Reader: base-type (object)
Package

3bgl-shaders.

Methods
Reader Method: base-type ((same-size-different-base-type-constraint same-size-different-base-type-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

base-type.

Reader Method: base-type ((array-type array-type))

automatically generated reader method

Source

types.lisp.

Target Slot

base-type.

Reader Method: base-type ((concrete-type concrete-type))

automatically generated reader method

Source

types.lisp.

Target Slot

base-type.

Generic Writer: (setf base-type) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf base-type) ((same-size-different-base-type-constraint same-size-different-base-type-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

base-type.

Writer Method: (setf base-type) ((array-type array-type))

automatically generated writer method

Source

types.lisp.

Target Slot

base-type.

Writer Method: (setf base-type) ((concrete-type concrete-type))

automatically generated writer method

Source

types.lisp.

Target Slot

base-type.

Generic Reader: binding (object)
Package

3bgl-shaders.

Methods
Reader Method: binding ((interface-stage-binding interface-stage-binding))

automatically generated reader method

Source

types.lisp.

Target Slot

binding.

Reader Method: binding ((variable-write variable-write))

automatically generated reader method

Source

ir.lisp.

Target Slot

binding.

Reader Method: binding ((variable-read variable-read))

automatically generated reader method

Source

ir.lisp.

Target Slot

binding.

Reader Method: binding ((array-access array-access))

automatically generated reader method

Source

ir.lisp.

Target Slot

binding.

Reader Method: binding ((swizzle-access swizzle-access))

automatically generated reader method

Source

ir.lisp.

Target Slot

binding.

Reader Method: binding ((slot-access slot-access))

automatically generated reader method

Source

ir.lisp.

Target Slot

binding.

Generic Writer: (setf binding) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf binding) ((interface-stage-binding interface-stage-binding))

automatically generated writer method

Source

types.lisp.

Target Slot

binding.

Writer Method: (setf binding) ((variable-write variable-write))

automatically generated writer method

Source

ir.lisp.

Target Slot

binding.

Writer Method: (setf binding) ((variable-read variable-read))

automatically generated writer method

Source

ir.lisp.

Target Slot

binding.

Writer Method: (setf binding) ((array-access array-access))

automatically generated writer method

Source

ir.lisp.

Target Slot

binding.

Writer Method: (setf binding) ((swizzle-access swizzle-access))

automatically generated writer method

Source

ir.lisp.

Target Slot

binding.

Writer Method: (setf binding) ((slot-access slot-access))

automatically generated writer method

Source

ir.lisp.

Target Slot

binding.

Generic Reader: bindings (object)
Package

3bgl-shaders.

Methods
Reader Method: bindings ((bindings bindings))

automatically generated reader method

Source

ir.lisp.

Target Slot

bindings.

Generic Writer: (setf bindings) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf bindings) ((bindings bindings))

automatically generated writer method

Source

ir.lisp.

Target Slot

bindings.

Generic Reader: bindings-used-by (object)
Package

3bgl-shaders.

Methods
Reader Method: bindings-used-by ((binding-with-dependencies binding-with-dependencies))

automatically generated reader method

Source

ir.lisp.

Target Slot

bindings-used-by.

Generic Reader: bindings-using (object)
Package

3bgl-shaders.

Methods
Reader Method: bindings-using ((binding-with-dependencies binding-with-dependencies))

automatically generated reader method

Source

ir.lisp.

Target Slot

bindings-using.

Generic Reader: body (object)
Package

3bgl-shaders.

Methods
Reader Method: body ((progn-body progn-body))

automatically generated reader method

Source

ir.lisp.

Target Slot

body.

Generic Writer: (setf body) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf body) ((progn-body progn-body))

automatically generated writer method

Source

ir.lisp.

Target Slot

body.

Generic Reader: called-function (object)
Package

3bgl-shaders.

Methods
Reader Method: called-function ((inference-call-site inference-call-site))

automatically generated reader method

Source

infer.lisp.

Target Slot

called-function.

Reader Method: called-function ((function-call function-call))

automatically generated reader method

Source

ir.lisp.

Target Slot

called-function.

Generic Writer: (setf called-function) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf called-function) ((inference-call-site inference-call-site))

automatically generated writer method

Source

infer.lisp.

Target Slot

called-function.

Writer Method: (setf called-function) ((function-call function-call))

automatically generated writer method

Source

ir.lisp.

Target Slot

called-function.

Generic Reader: cast-type (object)
Package

3bgl-shaders.

Methods
Reader Method: cast-type ((cast-constraint cast-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

cast-type.

Generic Writer: (setf cast-type) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf cast-type) ((cast-constraint cast-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

cast-type.

Generic Function: check-slot-stages (slot-access)
Package

3bgl-shaders.

Methods
Method: check-slot-stages (slot-access)
Source

compiler.lisp.

Generic Function: check-stages (interface-binding)
Package

3bgl-shaders.

Methods
Method: check-stages (interface-binding)
Source

compiler.lisp.

Generic Reader: compiler-macro-bindings (object)
Package

3bgl-shaders.

Methods
Reader Method: compiler-macro-bindings ((environment environment))

automatically generated reader method

Source

walker.lisp.

Target Slot

compiler-macro-bindings.

Generic Reader: condition-forms (object)
Package

3bgl-shaders.

Methods
Reader Method: condition-forms ((for-loop for-loop))

automatically generated reader method

Source

ir.lisp.

Target Slot

condition-forms.

Generic Writer: (setf condition-forms) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf condition-forms) ((for-loop for-loop))

automatically generated writer method

Source

ir.lisp.

Target Slot

condition-forms.

Generic Reader: conflicts (object)
Package

3bgl-shaders.

Methods
Reader Method: conflicts ((binding binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

conflicts.

Generic Writer: (setf conflicts) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf conflicts) ((binding binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

conflicts.

Generic Reader: constraints (object)
Package

3bgl-shaders.

Methods
Reader Method: constraints ((constrained-type constrained-type))

automatically generated reader method

Source

infer.lisp.

Target Slot

constraints.

Reader Method: constraints ((any-type any-type))

automatically generated reader method

Source

infer.lisp.

Target Slot

constraints.

Generic Writer: (setf constraints) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf constraints) ((constrained-type constrained-type))

automatically generated writer method

Source

infer.lisp.

Target Slot

constraints.

Writer Method: (setf constraints) ((any-type any-type))

automatically generated writer method

Source

infer.lisp.

Target Slot

constraints.

Generic Function: copy-constraints (x)
Package

3bgl-shaders.

Methods
Method: copy-constraints ((type any-type))
Source

infer.lisp.

Method: copy-constraints ((type optional-arg-type))
Source

infer.lisp.

Method: copy-constraints ((type constrained-type))
Source

infer.lisp.

Method: copy-constraints ((type ref-type))
Source

infer.lisp.

Method: copy-constraints ((hash hash-table))
Source

infer.lisp.

Method: copy-constraints ((type null))
Source

infer.lisp.

Method: copy-constraints ((type generic-type))
Source

infer.lisp.

Method: copy-constraints ((constraint same-base-type-different-size-constraint))
Source

infer.lisp.

Method: copy-constraints ((constraint same-size-different-base-type-constraint))
Source

infer.lisp.

Method: copy-constraints ((constraint cast-constraint))
Source

infer.lisp.

Method: copy-constraints ((constraint scalar-type-of-constraint))
Source

infer.lisp.

Method: copy-constraints ((constraint same-type-or-scalar-constraint))
Source

infer.lisp.

Method: copy-constraints ((constraint global-function-constraint))
Source

infer.lisp.

Method: copy-constraints ((constraint variable-arity-function-application))
Source

infer.lisp.

Method: copy-constraints ((constraint function-application))
Source

infer.lisp.

Method: copy-constraints :around (x)
Source

infer.lisp.

Generic Reader: ctype (object)
Package

3bgl-shaders.

Methods
Reader Method: ctype ((ctype/other-constraint ctype/other-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

ctype.

Generic Writer: (setf ctype) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf ctype) ((ctype/other-constraint ctype/other-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

ctype.

Generic Reader: declarations (object)
Package

3bgl-shaders.

Methods
Reader Method: declarations ((function-binding function-binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

declarations.

Reader Method: declarations ((binding-scope binding-scope))

automatically generated reader method

Source

ir.lisp.

Target Slot

declarations.

Generic Writer: (setf declarations) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf declarations) ((function-binding function-binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

declarations.

Writer Method: (setf declarations) ((binding-scope binding-scope))

automatically generated writer method

Source

ir.lisp.

Target Slot

declarations.

Generic Reader: declared-type (object)
Package

3bgl-shaders.

Methods
Reader Method: declared-type ((function-binding function-binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

declared-type.

Reader Method: declared-type ((binding binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

declared-type.

Generic Writer: (setf declared-type) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf declared-type) ((function-binding function-binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

declared-type.

Writer Method: (setf declared-type) ((binding binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

declared-type.

Generic Reader: default (object)
Package

3bgl-shaders.

Methods
Reader Method: default ((interface-stage-binding interface-stage-binding))

automatically generated reader method

Source

types.lisp.

Target Slot

default.

Generic Writer: (setf default) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf default) ((interface-stage-binding interface-stage-binding))

automatically generated writer method

Source

types.lisp.

Target Slot

default.

Generic Reader: dirty (object)
Package

3bgl-shaders.

Methods
Reader Method: dirty ((shader-program shader-program))

automatically generated reader method

Source

utils.lisp.

Target Slot

dirty.

Generic Function: dump-constraint (c)
Package

3bgl-shaders.

Methods
Method: dump-constraint ((c array-access-constraint))
Source

infer.lisp.

Method: dump-constraint ((c scalar-type-of-constraint))
Source

infer.lisp.

Method: dump-constraint ((c same-type-or-scalar-constraint))
Source

infer.lisp.

Method: dump-constraint ((c same-base-type-different-size-constraint))
Source

infer.lisp.

Method: dump-constraint ((c ctype/other-constraint))
Source

infer.lisp.

Method: dump-constraint ((c global-function-constraint))
Source

infer.lisp.

Method: dump-constraint ((c function-application))
Source

infer.lisp.

Method: dump-constraint ((c variable-arity-function-application))
Source

infer.lisp.

Method: dump-constraint ((c cast-constraint))
Source

infer.lisp.

Generic Reader: else-form (object)
Package

3bgl-shaders.

Methods
Reader Method: else-form ((if-form if-form))

automatically generated reader method

Source

ir.lisp.

Target Slot

else-form.

Generic Writer: (setf else-form) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf else-form) ((if-form if-form))

automatically generated writer method

Source

ir.lisp.

Target Slot

else-form.

Generic Reader: environment (object)
Package

3bgl-shaders.

Methods
Reader Method: environment ((unknown-function-binding unknown-function-binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

environment.

Generic Writer: (setf environment) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf environment) ((unknown-function-binding unknown-function-binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

environment.

Generic Reader: equiv (object)
Package

3bgl-shaders.

Methods
Reader Method: equiv ((ref-type ref-type))

automatically generated reader method

Source

infer.lisp.

Target Slot

equiv.

Generic Writer: (setf equiv) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf equiv) ((ref-type ref-type))

automatically generated writer method

Source

infer.lisp.

Target Slot

equiv.

Generic Function: expand-uniform-slots (prefix b)
Package

3bgl-shaders.

Methods
Method: expand-uniform-slots (prefix (type array-type))
Source

api.lisp.

Method: expand-uniform-slots (prefix (type concrete-type))
Source

api.lisp.

Method: expand-uniform-slots (prefix (type struct-type))
Source

api.lisp.

Method: expand-uniform-slots (prefix (b binding))
Source

api.lisp.

Generic Reader: expander (object)
Package

3bgl-shaders.

Methods
Reader Method: expander ((macro-definition macro-definition))

automatically generated reader method

Source

ir.lisp.

Target Slot

expander.

Reader Method: expander ((function-binding-function function-binding-function))

automatically generated reader method

Source

ir.lisp.

Target Slot

expander.

Generic Writer: (setf expander) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf expander) ((macro-definition macro-definition))

automatically generated writer method

Source

ir.lisp.

Target Slot

expander.

Writer Method: (setf expander) ((function-binding-function function-binding-function))

automatically generated writer method

Source

ir.lisp.

Target Slot

expander.

Generic Reader: expansion (object)
Package

3bgl-shaders.

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

automatically generated reader method

Source

ir.lisp.

Target Slot

expansion.

Generic Writer: (setf expansion) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf expansion) ((symbol-macro symbol-macro))

automatically generated writer method

Source

ir.lisp.

Target Slot

expansion.

Generic Reader: explicit-casts (object)
Package

3bgl-shaders.

Methods
Reader Method: explicit-casts ((concrete-type concrete-type))

automatically generated reader method

Source

types.lisp.

Target Slot

explicit-casts.

Generic Writer: (setf explicit-casts) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf explicit-casts) ((concrete-type concrete-type))

automatically generated writer method

Source

types.lisp.

Target Slot

explicit-casts.

Generic Reader: expression (object)
Package

3bgl-shaders.

Methods
Reader Method: expression ((macro-definition macro-definition))

automatically generated reader method

Source

ir.lisp.

Target Slot

expression.

Generic Writer: (setf expression) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf expression) ((macro-definition macro-definition))

automatically generated writer method

Source

ir.lisp.

Target Slot

expression.

Generic Reader: field (object)
Package

3bgl-shaders.

Methods
Reader Method: field ((swizzle-access swizzle-access))

automatically generated reader method

Source

ir.lisp.

Target Slot

field.

Reader Method: field ((slot-access slot-access))

automatically generated reader method

Source

ir.lisp.

Target Slot

field.

Generic Writer: (setf field) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf field) ((swizzle-access swizzle-access))

automatically generated writer method

Source

ir.lisp.

Target Slot

field.

Writer Method: (setf field) ((slot-access slot-access))

automatically generated writer method

Source

ir.lisp.

Target Slot

field.

Generic Reader: final-binding-type-cache (object)
Package

3bgl-shaders.

Methods
Reader Method: final-binding-type-cache ((function-binding-function function-binding-function))

automatically generated reader method

Source

ir.lisp.

Target Slot

final-binding-type-cache.

Generic Writer: (setf final-binding-type-cache) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf final-binding-type-cache) ((function-binding-function function-binding-function))

automatically generated writer method

Source

ir.lisp.

Target Slot

final-binding-type-cache.

Generic Function: flatten-type (type &optional force-type)
Package

3bgl-shaders.

Methods
Method: flatten-type ((type ref-type) &optional force-type)
Source

finalize-inference.lisp.

Method: flatten-type ((type struct-type) &optional force-type)
Source

finalize-inference.lisp.

Method: flatten-type ((type array-type) &optional force-type)
Source

finalize-inference.lisp.

Method: flatten-type ((type constrained-type) &optional force-type)
Source

finalize-inference.lisp.

Method: flatten-type ((type any-type) &optional force-type)
Source

finalize-inference.lisp.

Method: flatten-type ((type concrete-type) &optional force-type)
Source

finalize-inference.lisp.

Generic Function: flatten-types (types)
Package

3bgl-shaders.

Methods
Method: flatten-types ((types ctype/other-constraint))
Source

infer.lisp.

Method: flatten-types ((types hash-table))
Source

infer.lisp.

Method: flatten-types ((types cons))
Source

infer.lisp.

Method: flatten-types ((types constrained-type))
Source

infer.lisp.

Method: flatten-types ((types any-type))
Source

infer.lisp.

Method: flatten-types ((types ref-type))
Source

infer.lisp.

Generic Reader: function-bindings (object)
Package

3bgl-shaders.

Methods
Reader Method: function-bindings ((environment environment))

automatically generated reader method

Source

walker.lisp.

Target Slot

function-bindings.

Generic Reader: function-types (object)
Package

3bgl-shaders.

Methods
Reader Method: function-types ((function-application function-application))

automatically generated reader method

Source

infer.lisp.

Target Slot

function-types.

Generic Writer: (setf function-types) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf function-types) ((function-application function-application))

automatically generated writer method

Source

infer.lisp.

Target Slot

function-types.

Generic Reader: function-types-by-arity (object)
Package

3bgl-shaders.

Methods
Reader Method: function-types-by-arity ((variable-arity-function-application variable-arity-function-application))

automatically generated reader method

Source

infer.lisp.

Target Slot

function-types-by-arity.

Generic Writer: (setf function-types-by-arity) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf function-types-by-arity) ((variable-arity-function-application variable-arity-function-application))

automatically generated writer method

Source

infer.lisp.

Target Slot

function-types-by-arity.

Generic Function: generate-output (objects inferred-types backend &key version extensions &allow-other-keys)
Package

3bgl-shaders.

Methods
Method: generate-output (objects inferred-types (backend (eql :glsl)) &key version extensions &allow-other-keys)
Source

api.lisp.

Generic Function: get-concrete-type (type)
Package

3bgl-shaders.

Methods
Method: get-concrete-type ((type constrained-type))
Source

finalize-inference.lisp.

Method: get-concrete-type ((type any-type))
Source

finalize-inference.lisp.

Method: get-concrete-type ((type struct-type))
Source

finalize-inference.lisp.

Method: get-concrete-type ((type concrete-type))
Source

finalize-inference.lisp.

Method: get-concrete-type ((type ref-type))
Source

finalize-inference.lisp.

Generic Function: get-equiv-type (type)
Package

3bgl-shaders.

Methods
Method: get-equiv-type ((type ref-type))
Source

infer.lisp.

Method: get-equiv-type (type)
Source

infer.lisp.

Generic Reader: global-function (object)
Package

3bgl-shaders.

Methods
Reader Method: global-function ((global-function-constraint global-function-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

function.

Generic Writer: (setf global-function) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf global-function) ((global-function-constraint global-function-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

function.

Generic Reader: glsl-name (object)
Package

3bgl-shaders.

Methods
Reader Method: glsl-name ((generic-type generic-type))

automatically generated reader method

Source

types.lisp.

Target Slot

glsl-name.

Reader Method: glsl-name ((function-binding function-binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

glsl-name.

Reader Method: glsl-name ((binding binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

glsl-name.

Generic Writer: (setf glsl-name) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf glsl-name) ((generic-type generic-type))

automatically generated writer method

Source

types.lisp.

Target Slot

glsl-name.

Writer Method: (setf glsl-name) ((function-binding function-binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

glsl-name.

Writer Method: (setf glsl-name) ((binding binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

glsl-name.

Generic Function: implicit-casts-from (object)
Package

3bgl-shaders.

Methods
Method: implicit-casts-from (s)
Source

types.lisp.

Reader Method: implicit-casts-from ((concrete-type concrete-type))

automatically generated reader method

Source

types.lisp.

Target Slot

implicit-casts-from.

Generic Writer: (setf implicit-casts-from) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf implicit-casts-from) ((concrete-type concrete-type))

automatically generated writer method

Source

types.lisp.

Target Slot

implicit-casts-from.

Generic Function: implicit-casts-to (object)
Package

3bgl-shaders.

Methods
Method: implicit-casts-to (s)
Source

types.lisp.

Reader Method: implicit-casts-to ((concrete-type concrete-type))

automatically generated reader method

Source

types.lisp.

Target Slot

implicit-casts-to.

Generic Writer: (setf implicit-casts-to) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf implicit-casts-to) ((concrete-type concrete-type))

automatically generated writer method

Source

types.lisp.

Target Slot

implicit-casts-to.

Generic Reader: in-type (object)
Package

3bgl-shaders.

Methods
Reader Method: in-type ((cast-constraint cast-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

in-type.

Generic Writer: (setf in-type) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf in-type) ((cast-constraint cast-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

in-type.

Generic Reader: index (object)
Package

3bgl-shaders.

Methods
Reader Method: index ((array-access array-access))

automatically generated reader method

Source

ir.lisp.

Target Slot

index.

Generic Writer: (setf index) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf index) ((array-access array-access))

automatically generated writer method

Source

ir.lisp.

Target Slot

index.

Generic Reader: init-forms (object)
Package

3bgl-shaders.

Methods
Reader Method: init-forms ((for-loop for-loop))

automatically generated reader method

Source

ir.lisp.

Target Slot

init-forms.

Generic Writer: (setf init-forms) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf init-forms) ((for-loop for-loop))

automatically generated writer method

Source

ir.lisp.

Target Slot

init-forms.

Generic Reader: initial-value-form (object)
Package

3bgl-shaders.

Methods
Reader Method: initial-value-form ((initialized-binding initialized-binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

initial-value-form.

Generic Writer: (setf initial-value-form) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf initial-value-form) ((initialized-binding initialized-binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

initial-value-form.

Generic Function: integral-type (type)
Package

3bgl-shaders.

Methods
Method: integral-type ((type constrained-type))
Source

printer.lisp.

Method: integral-type ((type concrete-type))
Source

printer.lisp.

Generic Reader: interface-block (object)
Package

3bgl-shaders.

Methods
Reader Method: interface-block ((interface-stage-binding interface-stage-binding))

automatically generated reader method

Source

types.lisp.

Target Slot

interface-block.

Generic Writer: (setf interface-block) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf interface-block) ((interface-stage-binding interface-stage-binding))

automatically generated writer method

Source

types.lisp.

Target Slot

interface-block.

Generic Reader: interface-qualifier (object)
Package

3bgl-shaders.

Methods
Reader Method: interface-qualifier ((interface-stage-binding interface-stage-binding))

automatically generated reader method

Source

types.lisp.

Target Slot

interface-qualifier.

Generic Writer: (setf interface-qualifier) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf interface-qualifier) ((interface-stage-binding interface-stage-binding))

automatically generated writer method

Source

types.lisp.

Target Slot

interface-qualifier.

Generic Reader: internal (object)
Package

3bgl-shaders.

Methods
Reader Method: internal ((interface-binding interface-binding))

automatically generated reader method

Source

types.lisp.

Target Slot

internal.

Reader Method: internal ((generic-type generic-type))

automatically generated reader method

Source

types.lisp.

Target Slot

internal.

Reader Method: internal ((constant-binding constant-binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

internal.

Generic Writer: (setf internal) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf internal) ((interface-binding interface-binding))

automatically generated writer method

Source

types.lisp.

Target Slot

internal.

Writer Method: (setf internal) ((generic-type generic-type))

automatically generated writer method

Source

types.lisp.

Target Slot

internal.

Writer Method: (setf internal) ((constant-binding constant-binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

internal.

Generic Function: is-type (a b)
Package

3bgl-shaders.

Methods
Method: is-type (b (a null))
Source

infer.lisp.

Method: is-type ((a null) b)
Source

infer.lisp.

Generic Reader: lambda-list (object)
Package

3bgl-shaders.

Methods
Reader Method: lambda-list ((function-binding-function function-binding-function))

automatically generated reader method

Source

ir.lisp.

Target Slot

lambda-list.

Generic Writer: (setf lambda-list) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf lambda-list) ((function-binding-function function-binding-function))

automatically generated writer method

Source

ir.lisp.

Target Slot

lambda-list.

Generic Reader: layout-qualifier (object)
Package

3bgl-shaders.

Methods
Reader Method: layout-qualifier ((interface-stage-binding interface-stage-binding))

automatically generated reader method

Source

types.lisp.

Target Slot

layout-qualifier.

Generic Writer: (setf layout-qualifier) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf layout-qualifier) ((interface-stage-binding interface-stage-binding))

automatically generated writer method

Source

types.lisp.

Target Slot

layout-qualifier.

Generic Reader: layout-qualifiers (object)
Package

3bgl-shaders.

Methods
Reader Method: layout-qualifiers ((function-binding-function function-binding-function))

automatically generated reader method

Source

ir.lisp.

Target Slot

layout-qualifiers.

Generic Writer: (setf layout-qualifiers) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf layout-qualifiers) ((function-binding-function function-binding-function))

automatically generated writer method

Source

ir.lisp.

Target Slot

layout-qualifiers.

Generic Reader: live-uniforms (object)
Package

3bgl-shaders.

Methods
Reader Method: live-uniforms ((shader-program shader-program))

automatically generated reader method

Source

utils.lisp.

Target Slot

live-uniforms.

Generic Writer: (setf live-uniforms) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf live-uniforms) ((shader-program shader-program))

automatically generated writer method

Source

utils.lisp.

Target Slot

live-uniforms.

Generic Reader: local-binding-type-data (object)
Package

3bgl-shaders.

Methods
Reader Method: local-binding-type-data ((function-binding-function function-binding-function))

automatically generated reader method

Source

ir.lisp.

Target Slot

local-binding-type-data.

Generic Writer: (setf local-binding-type-data) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf local-binding-type-data) ((function-binding-function function-binding-function))

automatically generated writer method

Source

ir.lisp.

Target Slot

local-binding-type-data.

Generic Reader: locked (object)
Package

3bgl-shaders.

Methods
Reader Method: locked ((environment environment))

automatically generated reader method

Source

walker.lisp.

Target Slot

locked.

Generic Writer: (setf locked) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf locked) ((environment environment))

automatically generated writer method

Source

walker.lisp.

Target Slot

locked.

Generic Reader: max-arity (object)
Package

3bgl-shaders.

Methods
Reader Method: max-arity ((variable-arity-function-application variable-arity-function-application))

automatically generated reader method

Source

infer.lisp.

Target Slot

max-arity.

Generic Writer: (setf max-arity) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf max-arity) ((variable-arity-function-application variable-arity-function-application))

automatically generated writer method

Source

infer.lisp.

Target Slot

max-arity.

Generic Reader: min-arity (object)
Package

3bgl-shaders.

Methods
Reader Method: min-arity ((variable-arity-function-application variable-arity-function-application))

automatically generated reader method

Source

infer.lisp.

Target Slot

min-arity.

Generic Writer: (setf min-arity) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf min-arity) ((variable-arity-function-application variable-arity-function-application))

automatically generated writer method

Source

infer.lisp.

Target Slot

min-arity.

Generic Reader: min-size (object)
Package

3bgl-shaders.

Methods
Reader Method: min-size ((array-access-constraint array-access-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

min-size.

Reader Method: min-size ((same-base-type-different-size-constraint same-base-type-different-size-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

min-size.

Reader Method: min-size ((swizzle-access swizzle-access))

automatically generated reader method

Source

ir.lisp.

Target Slot

min-size.

Generic Writer: (setf min-size) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf min-size) ((array-access-constraint array-access-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

min-size.

Writer Method: (setf min-size) ((same-base-type-different-size-constraint same-base-type-different-size-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

min-size.

Writer Method: (setf min-size) ((swizzle-access swizzle-access))

automatically generated writer method

Source

ir.lisp.

Target Slot

min-size.

Generic Reader: modified (object)
Package

3bgl-shaders.

Methods
Reader Method: modified ((update-calls update-calls))

automatically generated reader method

Source

compiler.lisp.

Target Slot

modified.

Reader Method: modified ((constraint constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

modified.

Generic Writer: (setf modified) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf modified) ((constraint constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

modified.

Generic Function: name (o)
Package

3bgl-shaders.

Methods
Reader Method: name ((cast-constraint cast-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

name.

Reader Method: name ((global-function-constraint global-function-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

name.

Reader Method: name ((function-application function-application))

automatically generated reader method

Source

infer.lisp.

Target Slot

name.

Reader Method: name ((generic-type generic-type))

automatically generated reader method

Source

types.lisp.

Target Slot

name.

Reader Method: name ((environment environment))

automatically generated reader method

Source

walker.lisp.

Target Slot

name.

Method: name ((o function-call))
Source

ir.lisp.

Method: name ((o variable-write))
Source

ir.lisp.

Method: name ((o variable-read))
Source

ir.lisp.

Method: name ((o array-access))
Source

ir.lisp.

Method: name ((o swizzle-access))
Source

ir.lisp.

Method: name ((o slot-access))
Source

ir.lisp.

Reader Method: name ((function-binding function-binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

name.

Reader Method: name ((binding binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

name.

Method: name (o)
Source

ir.lisp.

Generic Writer: (setf name) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf name) ((cast-constraint cast-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

name.

Writer Method: (setf name) ((global-function-constraint global-function-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

name.

Writer Method: (setf name) ((function-application function-application))

automatically generated writer method

Source

infer.lisp.

Target Slot

name.

Writer Method: (setf name) ((generic-type generic-type))

automatically generated writer method

Source

types.lisp.

Target Slot

name.

Writer Method: (setf name) ((function-binding function-binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

name.

Writer Method: (setf name) ((binding binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

name.

Generic Reader: name-map (object)
Package

3bgl-shaders.

Methods
Reader Method: name-map ((shader-program shader-program))

automatically generated reader method

Source

utils.lisp.

Target Slot

name-map.

Generic Reader: old-lambda-list (object)
Package

3bgl-shaders.

Methods
Reader Method: old-lambda-list ((function-binding-function function-binding-function))

automatically generated reader method

Source

ir.lisp.

Target Slot

old-lambda-list.

Generic Writer: (setf old-lambda-list) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf old-lambda-list) ((function-binding-function function-binding-function))

automatically generated writer method

Source

ir.lisp.

Target Slot

old-lambda-list.

Generic Reader: other-type (object)
Package

3bgl-shaders.

Methods
Reader Method: other-type ((ctype/other-constraint ctype/other-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

other-type.

Generic Writer: (setf other-type) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf other-type) ((ctype/other-constraint ctype/other-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

other-type.

Generic Reader: out-size (object)
Package

3bgl-shaders.

Methods
Reader Method: out-size ((same-base-type-different-size-constraint same-base-type-different-size-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

out-size.

Generic Writer: (setf out-size) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf out-size) ((same-base-type-different-size-constraint same-base-type-different-size-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

out-size.

Generic Reader: out-type (object)
Package

3bgl-shaders.

Methods
Reader Method: out-type ((cast-constraint cast-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

out-type.

Generic Writer: (setf out-type) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf out-type) ((cast-constraint cast-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

out-type.

Generic Reader: parent-scope (object)
Package

3bgl-shaders.

Methods
Reader Method: parent-scope ((environment environment))

automatically generated reader method

Source

walker.lisp.

Target Slot

parent-scope.

Generic Function: process-type-declarations-for-scope (scope)
Package

3bgl-shaders.

Methods
Method: process-type-declarations-for-scope (scope)
Source

types.lisp.

Generic Reader: program (object)
Package

3bgl-shaders.

Methods
Reader Method: program ((shader-program shader-program))

automatically generated reader method

Source

utils.lisp.

Target Slot

program.

Generic Reader: qualifiers (object)
Package

3bgl-shaders.

Methods
Reader Method: qualifiers ((binding binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

qualifiers.

Generic Writer: (setf qualifiers) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf qualifiers) ((binding binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

qualifiers.

Generic Reader: raw-arguments (object)
Package

3bgl-shaders.

Methods
Reader Method: raw-arguments ((array-initialization array-initialization))

automatically generated reader method

Source

ir.lisp.

Target Slot

raw-arguments.

Reader Method: raw-arguments ((function-call function-call))

automatically generated reader method

Source

ir.lisp.

Target Slot

raw-arguments.

Generic Writer: (setf raw-arguments) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf raw-arguments) ((array-initialization array-initialization))

automatically generated writer method

Source

ir.lisp.

Target Slot

raw-arguments.

Writer Method: (setf raw-arguments) ((function-call function-call))

automatically generated writer method

Source

ir.lisp.

Target Slot

raw-arguments.

Generic Reader: recompilation-callbacks (object)
Package

3bgl-shaders.

Methods
Reader Method: recompilation-callbacks ((shader-program shader-program))

automatically generated reader method

Source

utils.lisp.

Target Slot

recompilation-callbacks.

Generic Writer: (setf recompilation-callbacks) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf recompilation-callbacks) ((shader-program shader-program))

automatically generated writer method

Source

utils.lisp.

Target Slot

recompilation-callbacks.

Generic Reader: return-type (object)
Package

3bgl-shaders.

Methods
Reader Method: return-type ((global-function-constraint global-function-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

return-type.

Reader Method: return-type ((function-application function-application))

automatically generated reader method

Source

infer.lisp.

Target Slot

return-type.

Generic Writer: (setf return-type) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf return-type) ((global-function-constraint global-function-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

return-type.

Writer Method: (setf return-type) ((function-application function-application))

automatically generated writer method

Source

infer.lisp.

Target Slot

return-type.

Generic Reader: scalar/vector-set (object)
Package

3bgl-shaders.

Methods
Reader Method: scalar/vector-set ((concrete-type concrete-type))

automatically generated reader method

Source

types.lisp.

Target Slot

scalar/vector-set.

Generic Writer: (setf scalar/vector-set) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf scalar/vector-set) ((concrete-type concrete-type))

automatically generated writer method

Source

types.lisp.

Target Slot

scalar/vector-set.

Generic Reader: scalar/vector-size (object)
Package

3bgl-shaders.

Methods
Reader Method: scalar/vector-size ((concrete-type concrete-type))

automatically generated reader method

Source

types.lisp.

Target Slot

scalar/vector-size.

Generic Writer: (setf scalar/vector-size) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf scalar/vector-size) ((concrete-type concrete-type))

automatically generated writer method

Source

types.lisp.

Target Slot

scalar/vector-size.

Generic Reader: ssbos (object)
Package

3bgl-shaders.

Methods
Reader Method: ssbos ((shader-program shader-program))

automatically generated reader method

Source

utils.lisp.

Target Slot

ssbos.

Generic Function: stage-binding (binding)
Package

3bgl-shaders.

Methods
Method: stage-binding ((binding interface-binding))
Source

types.lisp.

Method: stage-binding (binding)
Source

types.lisp.

Generic Reader: stage-bindings (object)
Package

3bgl-shaders.

Methods
Reader Method: stage-bindings ((interface-binding interface-binding))

automatically generated reader method

Source

types.lisp.

Target Slot

stage-bindings.

Generic Writer: (setf stage-bindings) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf stage-bindings) ((interface-binding interface-binding))

automatically generated writer method

Source

types.lisp.

Target Slot

stage-bindings.

Generic Reader: stages (object)
Package

3bgl-shaders.

Methods
Reader Method: stages ((shader-program shader-program))

automatically generated reader method

Source

utils.lisp.

Target Slot

stages.

Generic Reader: step-forms (object)
Package

3bgl-shaders.

Methods
Reader Method: step-forms ((for-loop for-loop))

automatically generated reader method

Source

ir.lisp.

Target Slot

step-forms.

Generic Writer: (setf step-forms) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf step-forms) ((for-loop for-loop))

automatically generated writer method

Source

ir.lisp.

Target Slot

step-forms.

Generic Reader: structs (object)
Package

3bgl-shaders.

Methods
Reader Method: structs ((shader-program shader-program))

automatically generated reader method

Source

utils.lisp.

Target Slot

structs.

Generic Reader: test-form (object)
Package

3bgl-shaders.

Methods
Reader Method: test-form ((if-form if-form))

automatically generated reader method

Source

ir.lisp.

Target Slot

test-form.

Generic Writer: (setf test-form) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf test-form) ((if-form if-form))

automatically generated writer method

Source

ir.lisp.

Target Slot

test-form.

Generic Reader: then-form (object)
Package

3bgl-shaders.

Methods
Reader Method: then-form ((if-form if-form))

automatically generated reader method

Source

ir.lisp.

Target Slot

then-form.

Generic Writer: (setf then-form) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf then-form) ((if-form if-form))

automatically generated writer method

Source

ir.lisp.

Target Slot

then-form.

Generic Function: translate-name (x)
Package

3bgl-shaders.

Methods
Method: translate-name ((x variable-read))
Source

printer.lisp.

Method: translate-name ((x array-type))
Source

printer.lisp.

Method: translate-name ((x generic-type))
Source

printer.lisp.

Method: translate-name ((x interface-stage-binding))
Source

printer.lisp.

Method: translate-name ((x array-access))
Source

printer.lisp.

Method: translate-name ((x swizzle-access))
Source

printer.lisp.

Method: translate-name ((x slot-access))
Source

printer.lisp.

Method: translate-name ((x function-binding))
Source

printer.lisp.

Method: translate-name ((x binding))
Source

printer.lisp.

Method: translate-name (x)
Source

printer.lisp.

Generic Function: translate-slot-name (x b)
Package

3bgl-shaders.

Methods
Method: translate-slot-name (x (b interface-stage-binding))
Source

printer.lisp.

Method: translate-slot-name (x (b interface-binding))
Source

printer.lisp.

Method: translate-slot-name (x (b array-access))
Source

printer.lisp.

Method: translate-slot-name (x (b variable-read))
Source

printer.lisp.

Method: translate-slot-name (x b)
Source

printer.lisp.

Generic Function: translate-type (type)
Package

3bgl-shaders.

Methods
Method: translate-type ((type struct-type))
Source

printer.lisp.

Method: translate-type ((type array-type))
Source

printer.lisp.

Method: translate-type ((type generic-type))
Source

printer.lisp.

Method: translate-type ((type constrained-type))
Source

printer.lisp.

Method: translate-type ((type concrete-type))
Source

printer.lisp.

Method: translate-type ((type ref-type))
Source

printer.lisp.

Method: translate-type ((type any-type))
Source

printer.lisp.

Method: translate-type (type)
Source

printer.lisp.

Generic Reader: type-inference-state (object)
Package

3bgl-shaders.

Methods
Reader Method: type-inference-state ((function-binding-function function-binding-function))

automatically generated reader method

Source

ir.lisp.

Target Slot

type-inference-state.

Generic Writer: (setf type-inference-state) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf type-inference-state) ((function-binding-function function-binding-function))

automatically generated writer method

Source

ir.lisp.

Target Slot

type-inference-state.

Generic Function: types (object)
Package

3bgl-shaders.

Methods
Method: types ((type concrete-type))
Source

infer.lisp.

Reader Method: types ((constrained-type constrained-type))

automatically generated reader method

Source

infer.lisp.

Target Slot

types.

Reader Method: types ((environment environment))

automatically generated reader method

Source

walker.lisp.

Target Slot

types.

Generic Writer: (setf types) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf types) ((constrained-type constrained-type))

automatically generated writer method

Source

infer.lisp.

Target Slot

types.

Generic Function: unifiable-types-p (x type)
Package

3bgl-shaders.

Methods
Method: unifiable-types-p (b (a symbol))
Source

infer.lisp.

Method: unifiable-types-p ((a symbol) b)
Source

infer.lisp.

Method: unifiable-types-p ((x constrained-type) (type constrained-type))
Source

infer.lisp.

Method: unifiable-types-p ((a ref-type) (b ref-type))
Source

infer.lisp.

Method: unifiable-types-p (b (a ref-type))
Source

infer.lisp.

Method: unifiable-types-p ((a ref-type) b)
Source

infer.lisp.

Method: unifiable-types-p ((b constrained-type) (a generic-type))
Source

infer.lisp.

Method: unifiable-types-p ((a generic-type) (b constrained-type))
Source

infer.lisp.

Method: unifiable-types-p ((b generic-type) (a generic-type))
Source

infer.lisp.

Method: unifiable-types-p (b (a generic-type))
Source

infer.lisp.

Method: unifiable-types-p ((a generic-type) b)
Source

infer.lisp.

Method: unifiable-types-p (b (a any-type))
Source

infer.lisp.

Method: unifiable-types-p ((a any-type) b)
Source

infer.lisp.

Method: unifiable-types-p ((b generic-type) (a null))
Source

infer.lisp.

Method: unifiable-types-p ((a null) (b generic-type))
Source

infer.lisp.

Method: unifiable-types-p ((b any-type) (a null))
Source

infer.lisp.

Method: unifiable-types-p ((a null) (b any-type))
Source

infer.lisp.

Method: unifiable-types-p ((a null) (b null))
Source

infer.lisp.

Method: unifiable-types-p (x type)
Source

infer.lisp.

Generic Function: uniform (object &rest names-and-indices)
Package

3bgl-shaders.

Source

utils.lisp.

Methods
Method: uniform ((program shader-program) &rest names-and-indices)
Generic Reader: uniforms (object)
Package

3bgl-shaders.

Methods
Reader Method: uniforms ((shader-program shader-program))

automatically generated reader method

Source

utils.lisp.

Target Slot

uniforms.

Generic Function: unify (a b)
Package

3bgl-shaders.

Methods
Method: unify (b (a ref-type))
Source

infer.lisp.

Method: unify ((a ref-type) b)
Source

infer.lisp.

Method: unify ((b null) (a constrained-type))
Source

infer.lisp.

Method: unify ((a constrained-type) (b null))
Source

infer.lisp.

Method: unify ((b any-type) (a constrained-type))
Source

infer.lisp.

Method: unify ((a constrained-type) (b any-type))
Source

infer.lisp.

Method: unify ((b struct-type) (a any-type))
Source

infer.lisp.

Method: unify ((a any-type) (b struct-type))
Source

infer.lisp.

Method: unify ((b array-initialization) (a array-type))
Source

infer.lisp.

Method: unify ((a array-type) (b array-initialization))
Source

infer.lisp.

Method: unify ((b array-type) (a any-type))
Source

infer.lisp.

Method: unify ((a any-type) (b array-type))
Source

infer.lisp.

Method: unify ((b concrete-type) (a any-type))
Source

infer.lisp.

Method: unify ((a any-type) (b concrete-type))
Source

infer.lisp.

Method: unify ((b concrete-type) (a constrained-type))
Source

infer.lisp.

Method: unify ((a constrained-type) (b concrete-type))
Source

infer.lisp.

Method: unify ((b generic-type) (a constrained-type))
Source

infer.lisp.

Method: unify ((a constrained-type) (b generic-type))
Source

infer.lisp.

Method: unify ((a constrained-type) (b constrained-type))
Source

infer.lisp.

Method: unify ((a any-type) (b any-type))
Source

infer.lisp.

Method: unify (a b)
Source

infer.lisp.

Generic Function: update-constraint (constraint)
Package

3bgl-shaders.

Methods
Method: update-constraint ((constraint same-base-type-different-size-constraint))
Source

infer.lisp.

Method: update-constraint ((constraint same-size-different-base-type-constraint))
Source

infer.lisp.

Method: update-constraint ((constraint scalar-type-of-constraint))
Source

infer.lisp.

Method: update-constraint ((constraint same-type-or-scalar-constraint))
Source

infer.lisp.

Method: update-constraint ((constraint cast-constraint))
Source

infer.lisp.

Method: update-constraint ((constraint function-application))
Source

infer.lisp.

Method: update-constraint ((constraint variable-arity-function-application))
Source

infer.lisp.

Generic Function: use-program (program)
Package

3bgl-shaders.

Methods
Method: use-program ((program shader-program))
Source

utils.lisp.

Generic Reader: valid-stages (object)
Package

3bgl-shaders.

Methods
Reader Method: valid-stages ((function-binding-function function-binding-function))

automatically generated reader method

Source

ir.lisp.

Target Slot

valid-stages.

Generic Writer: (setf valid-stages) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf valid-stages) ((function-binding-function function-binding-function))

automatically generated writer method

Source

ir.lisp.

Target Slot

valid-stages.

Generic Reader: value (object)
Package

3bgl-shaders.

Methods
Reader Method: value ((variable-write variable-write))

automatically generated reader method

Source

ir.lisp.

Target Slot

value.

Generic Writer: (setf value) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf value) ((variable-write variable-write))

automatically generated writer method

Source

ir.lisp.

Target Slot

value.

Generic Function: value-type (object)
Package

3bgl-shaders.

Methods
Method: value-type ((binding interface-stage-binding))
Source

types.lisp.

Method: value-type ((binding generic-type))
Source

types.lisp.

Method: value-type ((binding interface-binding))
Source

types.lisp.

Method: value-type ((o variable-read))
Source

ir.lisp.

Reader Method: value-type ((array-access array-access))

automatically generated reader method

Source

ir.lisp.

Target Slot

value-type.

Reader Method: value-type ((swizzle-access swizzle-access))

automatically generated reader method

Source

ir.lisp.

Target Slot

value-type.

Reader Method: value-type ((slot-access slot-access))

automatically generated reader method

Source

ir.lisp.

Target Slot

value-type.

Reader Method: value-type ((function-binding function-binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

value-type.

Reader Method: value-type ((binding binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

value-type.

Generic Writer: (setf value-type) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf value-type) ((array-access array-access))

automatically generated writer method

Source

ir.lisp.

Target Slot

value-type.

Writer Method: (setf value-type) ((swizzle-access swizzle-access))

automatically generated writer method

Source

ir.lisp.

Target Slot

value-type.

Writer Method: (setf value-type) ((slot-access slot-access))

automatically generated writer method

Source

ir.lisp.

Target Slot

value-type.

Writer Method: (setf value-type) ((function-binding function-binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

value-type.

Writer Method: (setf value-type) ((binding binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

value-type.

Generic Reader: variable-bindings (object)
Package

3bgl-shaders.

Methods
Reader Method: variable-bindings ((environment environment))

automatically generated reader method

Source

walker.lisp.

Target Slot

variable-bindings.

Generic Reader: version (object)
Package

3bgl-shaders.

Methods
Reader Method: version ((shader-program shader-program))

automatically generated reader method

Source

utils.lisp.

Target Slot

version.

Generic Writer: (setf version) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf version) ((shader-program shader-program))

automatically generated writer method

Source

utils.lisp.

Target Slot

version.

Generic Function: walk (form walker)
Package

3bgl-shaders.

Source

walker.lisp.

Methods
Method: walk ((form function-call) (walker update-calls))
Source

compiler.lisp.

Method: walk ((form for-loop) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form array-type) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form struct-type) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form interface-stage-binding) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form interface-binding) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form constant-binding) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form binding) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form local-variable) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form swizzle-access) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form variable-write) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form variable-read) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form slot-access) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form concrete-type) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form (eql :*)) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form (eql t)) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form function-call) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form cons) (walker tree-shaker))
Source

compiler.lisp.

Method: walk :around (form (walker extract-functions))
Source

compiler.lisp.

Method: walk (form (walker glsl-walker))
Source

glsl-base.lisp.

Method: walk (form (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form global-function) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form binding-scope) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form implicit-progn) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form explicit-progn) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form float) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form integer) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form function-argument) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form constant-binding) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form interface-stage-binding) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form interface-binding) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form binding) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form array-type) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form local-variable) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form variable-write) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form variable-read) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form function-call) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form slot-access) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form array-access) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form swizzle-access) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form for-loop) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form if-form) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk :around (form walker)
Method: walk (form (walker cl-walker))
Method: walk ((form cons) walker)
Method: walk (form walker)
Method: walk ((form if-form) walker)
Source

ir.lisp.

Method: walk ((form variable-write) walker)
Source

ir.lisp.

Method: walk ((form variable-read) walker)
Source

ir.lisp.

Method: walk ((form slot-access) walker)
Source

ir.lisp.

Method: walk ((form array-access) walker)
Source

ir.lisp.

Method: walk ((form bindings) walker)
Source

ir.lisp.

Method: walk ((form progn-body) walker)
Source

ir.lisp.

Method: walk ((form function-call) walker)
Source

ir.lisp.

Method: walk ((form array-initialization) walker)
Source

ir.lisp.

Method: walk ((form initialized-binding) walker)
Source

ir.lisp.

Generic Function: walk-cons (car cdr walker)
Package

3bgl-shaders.

Source

walker.lisp.

Methods
Method: walk-cons ((car0 (eql defstruct)) cdr1 (walker extract-functions))
Source

compiler.lisp.

Method: walk-cons ((car792 (eql 3bgl-glsl:bind-interface)) cdr793 (walker extract-functions))
Source

compiler.lisp.

Method: walk-cons ((car693 (eql 3bgl-glsl:output)) cdr694 (walker extract-functions))
Source

compiler.lisp.

Method: walk-cons ((car594 (eql 3bgl-glsl:input)) cdr595 (walker extract-functions))
Source

compiler.lisp.

Method: walk-cons ((car495 (eql 3bgl-glsl:uniform)) cdr496 (walker extract-functions))
Source

compiler.lisp.

Method: walk-cons ((car396 (eql 3bgl-glsl:attribute)) cdr397 (walker extract-functions))
Source

compiler.lisp.

Method: walk-cons ((car297 (eql 3bgl-glsl::%defconstant)) cdr298 (walker extract-functions))
Source

compiler.lisp.

Method: walk-cons ((car198 (eql 3bgl-glsl:defconstant)) cdr199 (walker extract-functions))
Source

compiler.lisp.

Method: walk-cons ((car99 (eql defparameter)) cdr100 (walker extract-functions))
Source

compiler.lisp.

Method: walk-cons ((car0 (eql defconstant)) cdr1 (walker extract-functions))
Source

compiler.lisp.

Method: walk-cons ((car0 (eql defun)) cdr1 (walker extract-functions))
Source

compiler.lisp.

Method: walk-cons (car cdr (walker glsl-walker))
Source

glsl-base.lisp.

Method: walk-cons ((car0 (eql 3bgl-glsl::%for)) cdr1 (walker glsl-walker))
Source

glsl-base.lisp.

Method: walk-cons ((car0 (eql if)) cdr1 (walker glsl-walker))
Source

glsl-base.lisp.

Method: walk-cons ((car0 (eql setq)) cdr1 (walker glsl-walker))
Source

glsl-base.lisp.

Method: walk-cons ((car0 (eql progn)) cdr1 (walker glsl-walker))
Source

glsl-base.lisp.

Method: walk-cons ((car0 (eql let*)) cdr1 (walker glsl-walker))
Source

glsl-base.lisp.

Method: walk-cons ((car0 (eql let)) cdr1 (walker glsl-walker))
Source

glsl-base.lisp.

Method: walk-cons ((car0 (eql 3bgl-glsl::%defconstant)) cdr1 (walker glsl-walker))
Source

glsl-base.lisp.

Method: walk-cons ((car0 (eql defconstant)) cdr1 (walker glsl-walker))
Source

glsl-base.lisp.

Method: walk-cons ((car0 (eql defparameter)) cdr1 (walker glsl-walker))
Source

glsl-base.lisp.

Method: walk-cons :around (car cdr walker)
Method: walk-cons (car cdr (walker cl-walker))
Method: walk-cons ((car0 (eql labels)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql flet)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql let*)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql let)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql quote)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql progv)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql unwind-protect)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql multiple-value-prog1)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql multiple-value-call)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql function)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql go)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql tagbody)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql macrolet)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql symbol-macrolet)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql locally)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql eval-when)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql setq)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql load-time-value)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql throw)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql catch)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql return-from)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql block)) cdr1 (walker cl-walker))
Method: walk-cons (car cdr walker)

5.2.5 Conditions

Condition: incomplete-dependent
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

inference-failure.

Condition: inference-failure
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

condition.

Direct subclasses

incomplete-dependent.


5.2.6 Classes

Class: aggregate-type
Package

3bgl-shaders.

Source

types.lisp.

Direct superclasses
Direct subclasses
Class: any-type
Package

3bgl-shaders.

Source

infer.lisp.

Direct methods
Direct slots
Slot: constraints
Initform

(make-hash-table)

Initargs

:constraints

Readers

constraints.

Writers

(setf constraints).

Class: array-access
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

place.

Direct methods
Direct slots
Slot: binding
Initargs

:binding

Readers

binding.

Writers

(setf binding).

Slot: index
Initargs

:index

Readers

index.

Writers

(setf index).

Slot: value-type
Initargs

:value-type

Readers

value-type.

Writers

(setf value-type).

Class: array-access-constraint
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

ctype/other-constraint.

Direct methods
Direct slots
Slot: min-size
Initargs

:min-size

Readers

min-size.

Writers

(setf min-size).

Class: array-initialization
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

array-type.

Direct methods
Direct slots
Slot: arguments
Initargs

:arguments

Readers

arguments.

Writers

(setf arguments).

Slot: raw-arguments
Initargs

:raw-arguments

Readers

raw-arguments.

Writers

(setf raw-arguments).

Slot: argument-environment
Initargs

:argument-environment

Readers

argument-environment.

Writers

(setf argument-environment).

Class: array-type
Package

3bgl-shaders.

Source

types.lisp.

Direct superclasses

generic-type.

Direct subclasses

array-initialization.

Direct methods
Direct slots
Slot: base-type
Initargs

:base-type

Readers

base-type.

Writers

(setf base-type).

Slot: array-size
Initargs

:array-size

Readers

array-size.

Writers

(setf array-size).

Class: binding
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

place.

Direct subclasses
Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

name.

Writers

(setf name).

Slot: glsl-name
Initargs

:glsl-name

Readers

glsl-name.

Writers

(setf glsl-name).

Slot: value-type
Initform

t

Initargs

:value-type

Readers

value-type.

Writers

(setf value-type).

Slot: allow-casts
Initform

t

Initargs

:allow-casts

Readers

allow-casts.

Writers

(setf allow-casts).

Slot: declared-type
Initform

t

Initargs

:declared-type

Readers

declared-type.

Writers

(setf declared-type).

Slot: qualifiers
Readers

qualifiers.

Writers

(setf qualifiers).

Slot: conflicts
Readers

conflicts.

Writers

(setf conflicts).

Class: binding-scope
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: declarations
Initargs

:declarations

Readers

declarations.

Writers

(setf declarations).

Class: binding-with-dependencies
Package

3bgl-shaders.

Source

ir.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: bindings-used-by
Initform

(make-hash-table)

Readers

bindings-used-by.

Writers

This slot is read-only.

Slot: bindings-using
Initform

(make-hash-table)

Readers

bindings-using.

Writers

This slot is read-only.

Class: bindings
Package

3bgl-shaders.

Source

ir.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: bindings
Initargs

:bindings

Readers

bindings.

Writers

(setf bindings).

Class: builtin-function
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses
Class: cast-constraint
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

constraint.

Direct methods
Direct slots
Slot: cast-type
Initform

:implicit

Initargs

:cast-type

Readers

cast-type.

Writers

(setf cast-type).

Slot: in-type
Initargs

:in

Readers

in-type.

Writers

(setf in-type).

Slot: out-type
Initargs

:out

Readers

out-type.

Writers

(setf out-type).

Slot: name
Initargs

:name

Readers

name.

Writers

(setf name).

Class: cl-walker
Package

3bgl-shaders.

Source

walker.lisp.

Direct superclasses

walker.

Direct subclasses

glsl-walker.

Direct methods
Class: concrete-type
Package

3bgl-shaders.

Source

types.lisp.

Direct superclasses

generic-type.

Direct methods
Direct slots
Slot: implicit-casts-to
Initargs

:casts-to

Readers

implicit-casts-to.

Writers

(setf implicit-casts-to).

Slot: implicit-casts-from
Initargs

:casts-from

Readers

implicit-casts-from.

Writers

(setf implicit-casts-from).

Slot: explicit-casts
Initargs

:explicit-casts

Readers

explicit-casts.

Writers

(setf explicit-casts).

Slot: scalar/vector-size
Initargs

:scalar/vector-size

Readers

scalar/vector-size.

Writers

(setf scalar/vector-size).

Slot: scalar/vector-set
Initargs

:scalar/vector-set

Readers

scalar/vector-set.

Writers

(setf scalar/vector-set).

Slot: base-type
Initargs

:base-type

Readers

base-type.

Writers

(setf base-type).

Class: constant-binding
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: internal
Readers

internal.

Writers

(setf internal).

Class: constrained-type
Package

3bgl-shaders.

Source

infer.lisp.

Direct methods
Direct slots
Slot: types
Initform

(make-hash-table)

Initargs

:types

Readers

types.

Writers

(setf types).

Slot: constraints
Initform

(make-hash-table)

Initargs

:constraints

Readers

constraints.

Writers

(setf constraints).

Class: constraint
Package

3bgl-shaders.

Source

infer.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: modified
Readers

modified.

Writers

(setf modified).

Class: ctype/other-constraint
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

constraint.

Direct subclasses
Direct methods
Direct slots
Slot: ctype
Initargs

:ctype

Readers

ctype.

Writers

(setf ctype).

Slot: other-type
Initargs

:other-type

Readers

other-type.

Writers

(setf other-type).

Class: environment
Package

3bgl-shaders.

Source

walker.lisp.

Direct methods
Direct slots
Slot: parent-scope
Initargs

:parent

Readers

parent-scope.

Writers

This slot is read-only.

Slot: function-bindings
Initform

(make-hash-table)

Readers

function-bindings.

Writers

This slot is read-only.

Slot: compiler-macro-bindings
Initform

(make-hash-table)

Readers

compiler-macro-bindings.

Writers

This slot is read-only.

Slot: variable-bindings
Initform

(make-hash-table)

Readers

variable-bindings.

Writers

This slot is read-only.

Slot: types
Initform

(make-hash-table)

Readers

types.

Writers

This slot is read-only.

Slot: locked
Readers

locked.

Writers

(setf locked).

Slot: name
Initargs

:name

Readers

name.

Writers

This slot is read-only.

Class: explicit-progn
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

progn-body.

Direct methods

walk.

Class: extract-functions
Package

3bgl-shaders.

Source

compiler.lisp.

Direct superclasses

glsl-walker.

Direct methods
Class: finalize
Package

3bgl-shaders.

Source

finalize-inference.lisp.

Direct superclasses

glsl-walker.

Class: for-loop
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

implicit-progn.

Direct methods
Direct slots
Slot: init-forms
Initargs

:init

Readers

init-forms.

Writers

(setf init-forms).

Slot: condition-forms
Initargs

:while

Readers

condition-forms.

Writers

(setf condition-forms).

Slot: step-forms
Initargs

:step

Readers

step-forms.

Writers

(setf step-forms).

Class: function-application
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

constraint.

Direct subclasses

variable-arity-function-application.

Direct methods
Direct slots
Slot: argument-types
Readers

argument-types.

Writers

(setf argument-types).

Slot: return-type
Initargs

:return-type

Readers

return-type.

Writers

(setf return-type).

Slot: function-types
Initargs

:function-types

Readers

function-types.

Writers

(setf function-types).

Slot: name
Initargs

:name

Readers

name.

Writers

(setf name).

Class: function-argument
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

local-variable.

Direct methods

walk.

Class: function-binding
Package

3bgl-shaders.

Source

ir.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

name.

Writers

(setf name).

Slot: glsl-name
Initargs

:glsl-name

Readers

glsl-name.

Writers

(setf glsl-name).

Slot: declarations
Initargs

:declarations

Readers

declarations.

Writers

(setf declarations).

Slot: docs
Initargs

:docs

Slot: value-type
Initform

t

Initargs

:value-type

Readers

value-type.

Writers

(setf value-type).

Slot: declared-type
Initform

t

Initargs

:declared-type

Readers

declared-type.

Writers

(setf declared-type).

Class: function-binding-function
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses
Direct subclasses
Direct methods
Direct slots
Slot: type-inference-state
Initargs

:type-inference-state

Readers

type-inference-state.

Writers

(setf type-inference-state).

Slot: valid-stages
Initform

t

Readers

valid-stages.

Writers

(setf valid-stages).

Slot: local-binding-type-data
Initform

(make-hash-table)

Readers

local-binding-type-data.

Writers

(setf local-binding-type-data).

Slot: final-binding-type-cache
Initform

(make-hash-table :test (quote equal))

Readers

final-binding-type-cache.

Writers

(setf final-binding-type-cache).

Slot: lambda-list
Initargs

:lambda-list

Readers

lambda-list.

Writers

(setf lambda-list).

Slot: old-lambda-list
Initform

t

Readers

old-lambda-list.

Writers

(setf old-lambda-list).

Slot: expander
Initform

(function identity)

Initargs

:expander

Readers

expander.

Writers

(setf expander).

Slot: layout-qualifiers
Initform

(make-hash-table)

Readers

layout-qualifiers.

Writers

(setf layout-qualifiers).

Class: function-call
Package

3bgl-shaders.

Source

ir.lisp.

Direct methods
Direct slots
Slot: called-function
Initargs

:function

Readers

called-function.

Writers

(setf called-function).

Slot: arguments
Initargs

:arguments

Readers

arguments.

Writers

(setf arguments).

Slot: raw-arguments
Initargs

:raw-arguments

Readers

raw-arguments.

Writers

(setf raw-arguments).

Slot: argument-environment
Initargs

:argument-environment

Readers

argument-environment.

Writers

(setf argument-environment).

Class: generic-type
Package

3bgl-shaders.

Source

types.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

name.

Writers

(setf name).

Slot: glsl-name
Initargs

:glsl-name

Readers

glsl-name.

Writers

(setf glsl-name).

Slot: internal
Initargs

:internal

Readers

internal.

Writers

(setf internal).

Slot: modified
Readers

modified.

Writers

(setf modified).

Class: global-function
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses
Direct methods
Class: global-function-constraint
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

constraint.

Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

name.

Writers

(setf name).

Slot: function
Package

common-lisp.

Initargs

:function

Readers

global-function.

Writers

(setf global-function).

Slot: argument-types
Readers

argument-types.

Writers

(setf argument-types).

Slot: return-type
Initargs

:return-type

Readers

return-type.

Writers

(setf return-type).

Class: global-variable
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses
Class: glsl-walker
Package

3bgl-glsl.

Source

glsl-base.lisp.

Direct superclasses

cl-walker.

Direct subclasses
Direct methods
Class: if-form
Package

3bgl-shaders.

Source

ir.lisp.

Direct methods
Direct slots
Slot: test-form
Initargs

:test

Readers

test-form.

Writers

(setf test-form).

Slot: then-form
Initargs

:then

Readers

then-form.

Writers

(setf then-form).

Slot: else-form
Initargs

:else

Readers

else-form.

Writers

(setf else-form).

Class: implicit-progn
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

progn-body.

Direct subclasses
Direct methods
Class: infer-build-constraints
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

glsl-walker.

Direct methods
Class: inference-call-site
Package

3bgl-shaders.

Source

infer.lisp.

Direct methods
Direct slots
Slot: called-function
Initargs

:called-function

Readers

called-function.

Writers

(setf called-function).

Class: initialized-binding
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

binding.

Direct subclasses
Direct methods
Direct slots
Slot: initial-value-form
Initargs

:init

Readers

initial-value-form.

Writers

(setf initial-value-form).

Class: interface-binding
Package

3bgl-shaders.

Source

types.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: stage-bindings
Initargs

:stage-bindings

Readers

stage-bindings.

Writers

(setf stage-bindings).

Slot: internal
Initargs

:internal

Readers

internal.

Writers

(setf internal).

Slot: array-size
Initargs

:array-size

Readers

array-size.

Writers

(setf array-size).

Class: interface-stage-binding
Package

3bgl-shaders.

Source

types.lisp.

Direct superclasses

place.

Direct methods
Direct slots
Slot: binding
Initargs

:binding

Readers

binding.

Writers

(setf binding).

Slot: stage
Initargs

:stage

Readers

stage.

Writers

(setf stage).

Slot: interface-qualifier
Initargs

:interface-qualifier

Readers

interface-qualifier.

Writers

(setf interface-qualifier).

Slot: layout-qualifier
Initargs

:layout-qualifier

Readers

layout-qualifier.

Writers

(setf layout-qualifier).

Slot: interface-block
Initargs

:interface-block

Readers

interface-block.

Writers

(setf interface-block).

Slot: array-size
Initargs

:array-size

Readers

array-size.

Writers

(setf array-size).

Slot: default
Initargs

:default

Readers

default.

Writers

(setf default).

Class: interface-type
Package

3bgl-shaders.

Source

types.lisp.

Direct superclasses

aggregate-type.

Class: internal-function
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses
Direct Default Initargs
InitargValue
:type-inference-statet
Class: local-variable
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

variable-binding.

Direct subclasses

function-argument.

Direct methods
Class: macro-definition
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

function-binding.

Direct methods
Direct slots
Slot: expression
Initargs

:expression

Readers

expression.

Writers

(setf expression).

Slot: expander
Readers

expander.

Writers

(setf expander).

Class: optional-arg-type
Package

3bgl-shaders.

Source

infer.lisp.

Direct methods
Direct slots
Slot: arg-type
Initargs

:arg-type

Readers

arg-type.

Writers

(setf arg-type).

Class: place
Package

3bgl-shaders.

Source

ir.lisp.

Direct subclasses
Class: progn-body
Package

3bgl-shaders.

Source

ir.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: body
Initargs

:body

Readers

body.

Writers

(setf body).

Class: ref-type
Package

3bgl-shaders.

Source

infer.lisp.

Direct methods
Direct slots
Slot: equiv
Initargs

:equiv

Readers

equiv.

Writers

(setf equiv).

Class: same-base-type-different-size-constraint
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

ctype/other-constraint.

Direct methods
Direct slots
Slot: out-size
Initargs

:out-size

Readers

out-size.

Writers

(setf out-size).

Slot: min-size
Initargs

:min-size

Readers

min-size.

Writers

(setf min-size).

Class: same-size-different-base-type-constraint
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

ctype/other-constraint.

Direct methods
Direct slots
Slot: base-type
Initargs

:base-type

Readers

base-type.

Writers

(setf base-type).

Class: same-type-or-scalar-constraint
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

ctype/other-constraint.

Direct methods
Class: scalar-type-of-constraint
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

ctype/other-constraint.

Direct methods
Class: shader-program
Package

3bgl-shaders.

Source

utils.lisp.

Direct methods
Direct slots
Slot: program
Readers

program.

Writers

This slot is read-only.

Slot: stages
Initform

(make-hash-table)

Readers

stages.

Writers

This slot is read-only.

Slot: dirty
Initform

(make-hash-table)

Readers

dirty.

Writers

This slot is read-only.

Slot: uniforms
Initform

(make-hash-table)

Readers

uniforms.

Writers

This slot is read-only.

Slot: ssbos
Initform

(make-hash-table)

Readers

ssbos.

Writers

This slot is read-only.

Slot: structs
Initform

(make-hash-table)

Readers

structs.

Writers

This slot is read-only.

Slot: live-uniforms
Readers

live-uniforms.

Writers

(setf live-uniforms).

Slot: name-map
Initform

(make-hash-table :test (quote equal))

Readers

name-map.

Writers

This slot is read-only.

Slot: version
Initform

3bgl-shaders:*default-version*

Initargs

:version

Readers

version.

Writers

(setf version).

Slot: recompilation-callbacks
Initform

3bgl-shaders::*default-recompilation-callback*

Readers

recompilation-callbacks.

Writers

(setf recompilation-callbacks).

Class: slot-access
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

place.

Direct methods
Direct slots
Slot: binding
Initargs

:binding

Readers

binding.

Writers

(setf binding).

Slot: field
Initargs

:field

Readers

field.

Writers

(setf field).

Slot: value-type
Initargs

:value-type

Readers

value-type.

Writers

(setf value-type).

Class: struct-type
Package

3bgl-shaders.

Source

types.lisp.

Direct superclasses
Direct methods
Class: swizzle-access
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

place.

Direct methods
Direct slots
Slot: binding
Initargs

:binding

Readers

binding.

Writers

(setf binding).

Slot: field
Initargs

:field

Readers

field.

Writers

(setf field).

Slot: min-size
Initargs

:min-size

Readers

min-size.

Writers

(setf min-size).

Slot: value-type
Initargs

:value-type

Readers

value-type.

Writers

(setf value-type).

Class: symbol-macro
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

binding.

Direct methods
Direct slots
Slot: expansion
Initargs

:expansion

Readers

expansion.

Writers

(setf expansion).

Class: tree-shaker
Package

3bgl-shaders.

Source

compiler.lisp.

Direct methods
Class: unknown-function-binding
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: environment
Initargs

:environment

Readers

environment.

Writers

(setf environment).

Class: update-calls
Package

3bgl-shaders.

Source

compiler.lisp.

Direct superclasses

glsl-walker.

Direct methods
Direct slots
Slot: modified
Initargs

:modified

Readers

modified.

Writers

This slot is read-only.

Class: variable-arity-function-application
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

function-application.

Direct methods
Direct slots
Slot: min-arity
Initform

0

Initargs

:min-arity

Readers

min-arity.

Writers

(setf min-arity).

Slot: max-arity
Initform

0

Initargs

:max-arity

Readers

max-arity.

Writers

(setf max-arity).

Slot: function-types-by-arity
Initargs

:function-types-by-arity

Readers

function-types-by-arity.

Writers

(setf function-types-by-arity).

Class: variable-binding
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

initialized-binding.

Direct subclasses
Class: variable-read
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

place.

Direct methods
Direct slots
Slot: binding
Initargs

:binding

Readers

binding.

Writers

(setf binding).

Class: variable-write
Package

3bgl-shaders.

Source

ir.lisp.

Direct methods
Direct slots
Slot: binding
Initargs

:binding

Readers

binding.

Writers

(setf binding).

Slot: value
Initargs

:value

Readers

value.

Writers

(setf value).

Class: walker
Package

3bgl-shaders.

Source

walker.lisp.

Direct subclasses

cl-walker.


Appendix A Indexes


A.1 Concepts