RetroArch
Macros | Functions
spirv_hlsl.cpp File Reference
#include "spirv_hlsl.hpp"
#include "GLSL.std.450.h"
#include <algorithm>
#include <assert.h>
Include dependency graph for spirv_hlsl.cpp:

Macros

#define make_inclusive_BitAnd(expr)   ""
 
#define make_inclusive_BitOr(expr)   ""
 
#define make_inclusive_BitXor(expr)   ""
 
#define make_inclusive_Min(expr)   ""
 
#define make_inclusive_Max(expr)   ""
 
#define HLSL_GROUP_OP(op, hlsl_op, supports_scan)
 
#define HLSL_BOP(op)   emit_binary_op(ops[0], ops[1], ops[2], ops[3], #op)
 
#define HLSL_BOP_CAST(op, type)   emit_binary_op_cast(ops[0], ops[1], ops[2], ops[3], #op, type, hlsl_opcode_is_sign_invariant(opcode))
 
#define HLSL_UOP(op)   emit_unary_op(ops[0], ops[1], ops[2], #op)
 
#define HLSL_QFOP(op)   emit_quaternary_func_op(ops[0], ops[1], ops[2], ops[3], ops[4], ops[5], #op)
 
#define HLSL_TFOP(op)   emit_trinary_func_op(ops[0], ops[1], ops[2], ops[3], ops[4], #op)
 
#define HLSL_BFOP(op)   emit_binary_func_op(ops[0], ops[1], ops[2], ops[3], #op)
 
#define HLSL_BFOP_CAST(op, type)   emit_binary_func_op_cast(ops[0], ops[1], ops[2], ops[3], #op, type, hlsl_opcode_is_sign_invariant(opcode))
 
#define HLSL_BFOP(op)   emit_binary_func_op(ops[0], ops[1], ops[2], ops[3], #op)
 
#define HLSL_UFOP(op)   emit_unary_func_op(ops[0], ops[1], ops[2], #op)
 

Functions

static unsigned image_format_to_components (ImageFormat fmt)
 
static string image_format_to_type (ImageFormat fmt, SPIRType::BaseType basetype)
 
static bool hlsl_opcode_is_sign_invariant (Op opcode)
 

Macro Definition Documentation

◆ HLSL_BFOP [1/2]

#define HLSL_BFOP (   op)    emit_binary_func_op(ops[0], ops[1], ops[2], ops[3], #op)

◆ HLSL_BFOP [2/2]

#define HLSL_BFOP (   op)    emit_binary_func_op(ops[0], ops[1], ops[2], ops[3], #op)

◆ HLSL_BFOP_CAST

#define HLSL_BFOP_CAST (   op,
  type 
)    emit_binary_func_op_cast(ops[0], ops[1], ops[2], ops[3], #op, type, hlsl_opcode_is_sign_invariant(opcode))

◆ HLSL_BOP

#define HLSL_BOP (   op)    emit_binary_op(ops[0], ops[1], ops[2], ops[3], #op)

◆ HLSL_BOP_CAST

#define HLSL_BOP_CAST (   op,
  type 
)    emit_binary_op_cast(ops[0], ops[1], ops[2], ops[3], #op, type, hlsl_opcode_is_sign_invariant(opcode))

◆ HLSL_GROUP_OP

#define HLSL_GROUP_OP (   op,
  hlsl_op,
  supports_scan 
)
Value:
case OpGroupNonUniform##op: \
{ \
auto operation = static_cast<GroupOperation>(ops[3]); \
if (operation == GroupOperationReduce) \
emit_unary_func_op(result_type, id, ops[4], "WaveActive" #hlsl_op); \
else if (operation == GroupOperationInclusiveScan && supports_scan) \
{ \
bool forward = should_forward(ops[4]); \
emit_op(result_type, id, make_inclusive_##hlsl_op (join("WavePrefix" #hlsl_op, "(", to_expression(ops[4]), ")")), forward); \
inherit_expression_dependencies(id, ops[4]); \
} \
else if (operation == GroupOperationExclusiveScan && supports_scan) \
emit_unary_func_op(result_type, id, ops[4], "WavePrefix" #hlsl_op); \
else if (operation == GroupOperationClusteredReduce) \
SPIRV_CROSS_THROW("Cannot trivially implement ClusteredReduce in HLSL."); \
SPIRV_CROSS_THROW("Invalid group operation."); \
break; \
}
Definition: spirv.hpp:572
set set set set set set set macro pixldst1 op
Definition: pixman-arm-neon-asm.h:54
std::string join(Ts &&... ts)
Definition: spirv_common.hpp:218
#define SPIRV_CROSS_THROW(x)
Definition: spirv_common.hpp:68
Definition: spirv.hpp:574
GroupOperation
Definition: spirv.hpp:571
Definition: spirv.hpp:575
Unknown compiler Device disconnected from port File already exists Saving to backup buffer Got connection Public address Setting disk in tray You have left the game You have joined with input devices *s *s has joined as player u A netplay connection attempt failed because the peer is not running or is running an old version of RetroArch use the same version use the same version This core does not support inter architecture netplay Incorrect password A netplay client has disconnected You do not have permission to play The input devices requested are not available Netplay peer s paused Give hardware rendered cores their own private context Avoids having to assume hardware state changes inbetween frames Adjusts menu screen appearance settings Improves performance at the cost of latency and more video stuttering Use only if you cannot obtain full speed otherwise Autodetect Capabilities Connecting to port Password Username Accounts List Endpoint Achievements Scan Content Import content Ask Block Frames نظام تشغيل الصوت Audio Enable Turbo Deadzone Audio Maximum Timing Skew Audio Output Dynamic Audio Rate Control الصوت Audio Volume WASAPI Exclusive Mode WASAPI Shared Buffer Length Load Override Files Automatically Load Shader Presets Automatically Confirm Quit Scroll Up Toggle Keyboard Basic menu controls Info Scroll Up Toggle Keyboard Don t overwrite SaveRAM on loading savestate Buildbot Assets URL Allow Camera Cheat Cheat File Load Cheat File Cheat Passes Hardcore Mode Achievement Badges Locked Test Unofficial Achievements Unlocked Verbose Mode Config ملفات التكوين Collections Content Allow to remove entries Downloads Cheats Show core name Authors Core label Permissions System manufacturer Controls Options Start a Core Automatically Buildbot Cores URL Updater CPU Cursor Custom Ratio Database Selection Start directory< Default > Directory not found Disk Cycle Tray Status Disk Index Don t care Download Core DPI Override Enable أنظمة التشغيل Check for Missing Firmware Before Loading Dynamic Backgrounds Menu entry hover color False Favorites Limit Maximum Run Speed Frontend Counters Create game options file مساعدة Changing Virtual Gamepad Overlay مساعدة Scanning For Content History List Enable Horizontal Menu معلومات Analog To Digital Type Left Analog X Left analog Left Analog Y Left analog Right Analog X Right analog Right Analog Y Right analog Gun Trigger Gun Aux A Gun Aux C Gun Select Gun D pad Down Gun D pad Right Analog Stick Deadzone Bind All Bind Timeout Hide Unbound Core Input Descriptors Device Index Mouse Index Duty Cycle Keyboard Gamepad Mapping Enable B Down D pad L3 L Left D pad R3 R Right D pad Start button X Y Mouse Mouse Mouse Wheel Down Wheel Right Max Users Cheat index Cheat toggle Disk next Enable hotkeys Fast forward toggle Fullscreen toggle Game focus toggle Menu toggle Audio mute toggle On screen keyboard toggle Pause toggle Reset game Save state Next shader Slow motion toggle Savestate slot Volume Display Overlay Show Inputs On Overlay Poll Type Behavior Late Prefer Front Touch Remap Binds Enable أجهزة الادخال Touch Enable Turbo Period Internal storage status نظام تشغيل الجوي باد Dutch Esperanto German Japanese Polish Russian Vietnamese Left Analog Core Info Linear Load Recent Load State Location Driver Logging Verbosity Database Settings Blue Dark Blue Shield Yellow Header Opacity Throttle Menu Framerate Menu Linear Filter Appearance Background opacity Multimedia Filter unknown extensions Nearest Allow Slave Mode Clients Input Latency Frames Netplay Delay Frames Netplay Enable Start netplay host Server Address Netplay Client Enable Server Password Request Device u Netplay settings Max Digital Input Sharing Grapple None Netplay Spectator Mode Server Spectate Only Password Netplay TCP Port Network Commands Network Information Network Remote Base Port No N A No Core No core information available No entries to display No information is available No netplay hosts found No performance counters No playlist entries available No shader parameters ON التحديث عبر الانترنت Onscreen Overlay Browse Archive Overlay Overlay Overlay Preset Onscreen Overlay Parent directory Don t run in background قوائم التشغيل قوائم التشغيل Port خصوصية Analog supported CERO Rating CRC32 Developer Edge Magazine Rating ELSPA Rating ESRB Rating Franchise MD5 Origin Publisher Releasedate Year Serial Start Content Reboot Recording Output Load Recording Config Enable Recording Save Recordings in Output Dir Load Remap File Save Game Remap File Delete Game Remap File Restart Resume RetroKeyboard RetroPad w Analog Rewind Enable Rewind Config Right Analog Add to Favorites Run Savefile Auto Load State Savestate Save Current Configuration Save Game Overrides Save State Scan Directory< Scan This Directory > Screen Resolution seconds Settings Apply Changes Ribbon Simple Snow Show Advanced Settings Shutdown Sort Saves In Folders Write Savestates to Content Dir System Files are in Content Dir SSH Enable Start Remote RetroPad State Slot stdin Commands Suspend Screensaver System BIOS support Build date Cocoa support CoreText support Display metric DPI Display metric DirectSound support Dynamic library support EGL support FFmpeg support STB TrueType support Frontend name Git version HLSL support KMS EGL support LibretroDB support libxml2 XML parsing support Network Command interface support OpenAL support OpenGL support OpenVG support Overlay support Charged Discharging PulseAudio support BMP RetroRating level RoarAudio support RSound support SDL2 support SDL1 support Threading support Video4Linux2 support Vulkan support X11 support XVideo support Take Screenshot Thumbnails Thumbnails Updater Screenshots Show date time True UI Companion Start On Boot Unable to read compressed file Undo Save State Updater Update Joypad Profiles Update Cheats Update Databases Update Lakka Update Slang Shaders Kbd Language Use Builtin Image Viewer< Use this directory > Config Aspect Ratio Aspect Ratio Crop Disable Desktop Composition Video Filter Flicker filter Notification Font Force aspect ratio Frame Delay Video Gamma GPU Screenshot Enable Hard GPU Sync Frames Notification X Position Monitor Index Vertical Refresh Rate Set Display Reported Refresh Rate Windowed Scale الفيديو Shader Passes Load Shader Preset Save Shader Preset As Save Game Preset Bilinear Filtering Vertical Video Deflicker Custom Aspect Ratio Width Custom Aspect Ratio Y Pos Vertical Windowed Fullscreen Mode Window Height Fullscreen Height Wi Fi Menu Font Red Color Menu Font Blue Color Custom Monochrome Systematic Pixel Retrosystem Menu Color Theme Dark Morning Blue Electric Blue Legacy Red Plain Volcanic Red Menu Scale Factor Show History Tab Show Playlist Tabs Show Image Tab Show Settings Tab Show Netplay Tab Menu Icon Theme Shader Preset Enable or disable unofficial achievements and or beta features for testing purposes Enable or disable in game leaderboards Has no effect if Hardcore Mode is disabled Enable or disable OSD verbosity for achievements Change achievement settings Change recording settings Change fast forward
Definition: msg_hash_ar.h:1949
Definition: spirv.hpp:573

◆ HLSL_QFOP

#define HLSL_QFOP (   op)    emit_quaternary_func_op(ops[0], ops[1], ops[2], ops[3], ops[4], ops[5], #op)

◆ HLSL_TFOP

#define HLSL_TFOP (   op)    emit_trinary_func_op(ops[0], ops[1], ops[2], ops[3], ops[4], #op)

◆ HLSL_UFOP

#define HLSL_UFOP (   op)    emit_unary_func_op(ops[0], ops[1], ops[2], #op)

◆ HLSL_UOP

#define HLSL_UOP (   op)    emit_unary_op(ops[0], ops[1], ops[2], #op)

◆ make_inclusive_BitAnd

#define make_inclusive_BitAnd (   expr)    ""

◆ make_inclusive_BitOr

#define make_inclusive_BitOr (   expr)    ""

◆ make_inclusive_BitXor

#define make_inclusive_BitXor (   expr)    ""

◆ make_inclusive_Max

#define make_inclusive_Max (   expr)    ""

◆ make_inclusive_Min

#define make_inclusive_Min (   expr)    ""

Function Documentation

◆ hlsl_opcode_is_sign_invariant()

static bool hlsl_opcode_is_sign_invariant ( Op  opcode)
static

◆ image_format_to_components()

static unsigned image_format_to_components ( ImageFormat  fmt)
static
Here is the caller graph for this function:

◆ image_format_to_type()

static string image_format_to_type ( ImageFormat  fmt,
SPIRType::BaseType  basetype 
)
static
Here is the caller graph for this function: