Talvos  0.1
SPIR-V interpreter and dynamic analysis framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Namespaces | Macros | Functions
PipelineExecutor.cpp File Reference

This file defines the PipelineExecutor class. More...

#include "config.h"
#include <algorithm>
#include <cassert>
#include <cmath>
#include <iostream>
#include <iterator>
#include <limits>
#include <sstream>
#include <thread>
#include <unistd.h>
#include <readline/history.h>
#include <readline/readline.h>
#include <spirv/unified1/spirv.h>
#include "PipelineExecutor.h"
#include "Utils.h"
#include "talvos/Commands.h"
#include "talvos/ComputePipeline.h"
#include "talvos/Device.h"
#include "talvos/EntryPoint.h"
#include "talvos/GraphicsPipeline.h"
#include "talvos/Image.h"
#include "talvos/Instruction.h"
#include "talvos/Invocation.h"
#include "talvos/Memory.h"
#include "talvos/Module.h"
#include "talvos/PipelineStage.h"
#include "talvos/RenderPass.h"
#include "talvos/Type.h"
#include "talvos/Variable.h"
#include "talvos/Workgroup.h"

Go to the source code of this file.

Classes

struct  talvos::PipelineExecutor::RenderPipelineState
 State to be carried through the execution of a render pipeline. More...
 
struct  talvos::PipelineExecutor::VertexOutput
 Outputs from a vertex shading stage. More...
 
struct  talvos::PipelineExecutor::PointPrimitive
 Point primitive data, used for rasterization. More...
 
struct  talvos::PipelineExecutor::TrianglePrimitive
 Triangle primitive data, used for rasterization. More...
 

Namespaces

 talvos
 

Macros

#define CONTEXT_SIZE   3
 The number of lines before and after the current instruction to print. More...
 
#define CMD(LONG, SHORT, FUNC)
 

Functions

void talvos::interpolate (Object &Output, const Type *Ty, size_t Offset, const Object &FA, const Object &FB, const Object &FC, float AW, float BW, float CW, float InvW, float a, float b, float c, bool Flat, bool Perspective)
 Recursively populate a fragment shader input variable by interpolating between the vertex shader output variables in a triangle. More...
 
float talvos::XDevToFB (float Xd, VkViewport Viewport)
 
float talvos::XFBToDev (float Xfb, VkViewport Viewport)
 
float talvos::YDevToFB (float Yd, VkViewport Viewport)
 
float talvos::YFBToDev (float Yfb, VkViewport Viewport)
 
void talvos::blendTexel (Image::Texel &NewTexel, const Image::Texel &OldTexel, const VkPipelineColorBlendAttachmentState &Blend, const std::array< float, 4 > &BlendConstants)
 
template<typename T >
void talvos::loadNormalizedVertexInput (Object &Obj, VkFormat Format, const Memory &Mem, uint64_t Address)
 

Detailed Description

This file defines the PipelineExecutor class.

Definition in file PipelineExecutor.cpp.

Macro Definition Documentation

#define CMD (   LONG,
  SHORT,
  FUNC 
)
Value:
if (Tokens[0] == LONG || Tokens[0] == SHORT) \
{ \
if (FUNC(Tokens)) \
break; \
else \
continue; \
}
#define CONTEXT_SIZE   3

The number of lines before and after the current instruction to print.

Definition at line 58 of file PipelineExecutor.cpp.