OROCHI
 
Loading...
Searching...
No Matches
GxRenderComputeShader Class Reference

コンピュートシェーダを管理する More...

#include <GxRenderComputeShader.h>

Inheritance diagram for GxRenderComputeShader:
Collaboration diagram for GxRenderComputeShader:

Public Member Functions

操作
GX_FORCE_INLINE void onLostDevice (void) override
 デバイスが消失した時点で通知
 
GX_FORCE_INLINE b32 onResetDevice (void) override
 デバイスのリセット後に通知
 
GX_FORCE_INLINE void onRender (void) override
 描画通知
 
- Public Member Functions inherited from GxRenderShader
constexpr u32 getUsageInputSemantics (void) const
 使用する入力セマンティックス
 
constexpr u32 getParameterCount (void) const
 パラメータ数の合計を取得
 
constexpr u32 getConstantBufferSize (void) const
 定数バッファサイズを取得
 
constexpr void * getBuffer (void) const
 バッファを取得
 
constexpr u32 getBufferSize (void) const
 バッファサイズを取得
 
constexpr u32 getParameterCount (REGISTER_SET_TYPE type) const
 パラメータ数を取得
 
constexpr GX_HANDLE getParameterHandle (REGISTER_SET_TYPE type, u32 index) const
 パラメータのハンドルを取得
 
constexpr PARAMETER_TYPE getParameterType (REGISTER_SET_TYPE type, u32 index) const
 パラメータのパラメータの種類を取得
 
constexpr u32 getParameterRegisterIndex (REGISTER_SET_TYPE type, u32 index) const
 パラメータの定数レジスタインデックスを取得
 
constexpr u32 getParameterRegisterCount (REGISTER_SET_TYPE type, u32 index) const
 パラメータの定数レジスタ数を取得
 
constexpr GX_CSTR getParameterName (REGISTER_SET_TYPE type, u32 index) const
 パラメータの名前を取得
 
constexpr u32 getRegisterStart (REGISTER_SET_TYPE type) const
 使用定数レジスタ開始位置を取得
 
constexpr u32 getRegisterCount (REGISTER_SET_TYPE type) const
 使用定数レジスタ数を取得
 
virtual void getAssembledCode (void *pBuffer, u32 size) const
 シェーダ命令コードの取得
 
virtual u32 getAssembledCodeSize (void) const
 シェーダ命令コードサイズの取得
 
virtual GX_FORCE_INLINE void releaseDiscardBuffer (b32 isStoreDevelopMemory=true)
 シェーダ命令コードのバッファなど中間データを解放
 
virtual b32 map (GxRegisterSet *&pRegisterSet, void *&pConstantRegisterParameterTable, u32 mappingType=0)
 マッピング開始
 
virtual void unmap (void)
 マッピング終了
 
void cleanup (void) override
 delete直前に呼び出される関数
 
- Public Member Functions inherited from GxRenderResource
GX_FORCE_INLINE void onLostDevice (void) override
 デバイスが消失した時点で通知
 
GX_FORCE_INLINE b32 onResetDevice (void) override
 デバイスのリセット後に通知
 
constexpr void forceDelayRelease (void)
 強制遅延解放
 
- Public Member Functions inherited from GxClassBaseReference
 GxClassBaseReference (void)
 コンストラクタ
 
 GxClassBaseReference (const GxClassBaseReference &base)
 コピーコンストラクタ
 
 ~GxClassBaseReference (void) override
 デストラクタ
 
constexpr GxClassBaseReferenceoperator= (const GxClassBaseReference &base)
 代入演算子
 
virtual s32 addReference (void)
 参照カウンタを加算
 
virtual s32 release (void)
 解放
 
virtual s32 getReferenceCount (void) const
 参照カウンタを取得
 
constexpr void setDelayReleaseCount (s32 count)
 遅延解放カウンタを設定
 
void setDelayReleaseCountInfinity (b32 on)
 無限解放待ちの設定
 
- Public Member Functions inherited from GxClassBaseRoot
constexpr GxClassBaseRoot (void)
 コンストラクタ
 
constexpr GxClassBaseRoot (const GxClassBaseRoot &)
 コピーコンストラクタ
 
virtual ~GxClassBaseRoot (void)
 デストラクタ
 
constexpr GxClassBaseRootoperator= (const GxClassBaseRoot &)
 代入演算子
 
virtual GxRttigetRtti (void) const =0
 Rttiの取得
 
virtual GX_FORCE_INLINE const GxTypedObjectgetDefaultObject (void)
 デフォルトオブジェクトを取得
 
GX_FORCE_INLINE b32 isDefaultObject (void)
 デフォルトオブジェクト判定
 
- Public Member Functions inherited from GxRenderNotifier

Friends

定義
class GxRenderDevice
 
- Friends inherited from GxRenderShader
- Friends inherited from GxRenderNotifier

初期化

void cleanup (void) override
 delete直前に呼び出される関数
 
b32 initialize (const void *pAssembledCode, u32 assembledCodeSize, u32 constantRegisterParameterCount, u32 usageInputSemantics, u32 constantBufferSize) override
 初期化関数
 
 GxRenderComputeShader (void)
 デフォルトコンストラクタ(RenderDevice以外でのインスタンス化禁止)
 

Additional Inherited Members

- Public Types inherited from GxRenderShader
enum class  REGISTER_SET_TYPE {
  BOOL , INT4 , FLOAT4 , SAMPLER ,
  MAX
}
 定数レジスタの種類 More...
 
enum class  PARAMETER_TYPE {
  VOID_POINTER , BOOL , INT , FLOAT ,
  STRING , TEXTURE , TEXTURE_1D , TEXTURE_2D ,
  TEXTURE_3D , TEXTURE_CUBE , SAMPLER , SAMPLER_1D ,
  SAMPLER_2D , SAMPLER_3D , SAMPLER_CUBE , PIXEL_SHADER ,
  VERTEX_SHADER , PIXEL_FRAGMENT , VERTEX_FRAGMENT , MAX
}
 パラメータの種類 More...
 
- Static Public Member Functions inherited from GxRenderResource
static b32 initializeThreadLocalStorage (void)
 スレッドローカルストレージ初期化関数
 
static GX_FORCE_INLINE void disableDelayRelease (void)
 遅延解放を無効化
 
static GX_FORCE_INLINE void enableDelayRelease (void)
 遅延解放を有効化
 
- Static Public Member Functions inherited from GxClassBaseReference
static void initializeDelayRelease (void)
 遅延解放リストの初期化
 
static void terminateDelayRelease (void)
 遅延解放リストの終了
 
static void updateDelayRelease (void)
 遅延解放リストの更新
 
static b32 isDelayReleaseEnable (void)
 遅延解放システムの有効判定
 
static u32 getDelayReleaseListCount (void)
 遅延解放待ちの数を取得
 
- Static Public Member Functions inherited from GxClassBaseRoot
static GX_FORCE_INLINE GxRtti__getStaticRtti (void)
 Rttiの取得
 
- Static Public Attributes inherited from GxClassBaseReference
static constexpr s32 DELAY_RELEASE_COUNT_INFINITY = -1
 遅延解放の無限待ち定義
 
- Protected Member Functions inherited from GxRenderShader
b32 initializeParameter (u32 constantRegisterParameterCount, u32 usageInputSemantics, u32 constantBufferSize)
 パラメータ初期化関数
 
 GxRenderShader (void)
 デフォルトコンストラクタ(RenderDevice以外でのインスタンス化禁止)
 
- Protected Member Functions inherited from GxRenderResource
 GxRenderResource (void)
 デフォルトコンストラクタ(RenderDevice以外でのインスタンス化禁止)
 
- Protected Member Functions inherited from GxRenderNotifier
 GxRenderNotifier (b32 callRender=false)
 コンストラクタ(インスタンス化禁止)
 
virtual ~GxRenderNotifier (void)
 デストラクタ(インスタンス化禁止)
 
- Protected Attributes inherited from GxRenderShader
GxRegisterSet _registerSet [static_cast< s32 >(REGISTER_SET_TYPE::MAX)]
 定数レジスタ情報
 
void * _pConstantRegisterParameterTable
 定数レジスタパラメータを格納しておくメモリ領域
 
u32 _constantRegisterParameterCount
 シェーダ内の定数レジスタパラメータ数の合計
 
u32 _usageInputSemantics
 使用する入力セマンティックス
 
u32 _constantBufferSize
 定数バッファサイズ
 
u32 _mappingType
 マップタイプ
 
void * _pBuffer
 データバッファ
 
u32 _bufferSize
 バッファサイズ
 
- Protected Attributes inherited from GxClassBaseReference
s32 _referenceCount
 参照カウンタ
 
s32 _delayReleaseCount
 遅延解放カウンタ
 
- Static Protected Attributes inherited from GxRenderResource
static s32 _disableDelayRelease [GxThread::THREAD_MAX] = {0}
 遅延解放無効化フラグ
 

Detailed Description

コンピュートシェーダを管理する

コンピュートシェーダクラス

Member Function Documentation

◆ cleanup()

void GxRenderComputeShader::cleanup ( void )
overridevirtual

delete直前に呼び出される関数

Reimplemented from GxClassBaseReference.

◆ initialize()

b32 GxRenderComputeShader::initialize ( const void * pAssembledCode,
u32 assembledCodeSize,
u32 constantRegisterParameterCount,
u32 usageInputSemantics,
u32 constantBufferSize )
overrideprotectedvirtual

初期化関数

Parameters
pAssembledCode[in] シェーダ命令コード
assembledCodeSize[in] シェーダ命令コードサイズ
constantRegisterParameterCount[in] シェーダ内の定数レジスタパラメータ数の合計
usageInputSemantics[in] 使用する入力セマンティックス
constantBufferSize[in] 定数バッファサイズ
Returns
成功ならtrue

Implements GxRenderShader.

Here is the call graph for this function:

◆ onLostDevice()

GX_FORCE_INLINE void GxRenderComputeShader::onLostDevice ( void )
inlineoverridevirtual

デバイスが消失した時点で通知

Reimplemented from GxRenderNotifier.

◆ onRender()

GX_FORCE_INLINE void GxRenderComputeShader::onRender ( void )
inlineoverridevirtual

描画通知

Reimplemented from GxRenderResource.

◆ onResetDevice()

GX_FORCE_INLINE b32 GxRenderComputeShader::onResetDevice ( void )
inlineoverridevirtual

デバイスのリセット後に通知

Reimplemented from GxRenderNotifier.


The documentation for this class was generated from the following files: