Compare commits

...

2 Commits

Author SHA1 Message Date
fallenoak
e7bd5968cf
feat(gx): add GxRenderTargetGet
Some checks are pending
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:cl compiler_name:MSVC cxx:cl os:windows-latest system_name:Windows test_path:WhoaTest]) (push) Waiting to run
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:clang compiler_name:Clang cxx:clang++ os:macos-latest system_name:macOS test_path:WhoaTest]) (push) Waiting to run
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:gcc compiler_name:GCC cxx:g++ os:ubuntu-latest system_name:Linux test_path:WhoaTest]) (push) Waiting to run
2026-02-18 08:43:11 -06:00
fallenoak
a51e9ba082
feat(gx): add missing initializers to CGxDevice 2026-02-18 08:24:53 -06:00
4 changed files with 25 additions and 4 deletions

View File

@ -924,6 +924,10 @@ CGxPool* CGxDevice::PoolCreate(EGxPoolTarget target, EGxPoolUsage usage, uint32_
return pool; return pool;
} }
void CGxDevice::RenderTargetGet(EGxBuffer buffer, CGxTex*& gxTex) {
gxTex = this->m_textureTarget[buffer].m_texture;
}
void CGxDevice::RsGet(EGxRenderState which, int32_t& value) { void CGxDevice::RsGet(EGxRenderState which, int32_t& value) {
value = static_cast<int32_t>(this->m_appRenderStates[which].m_value); value = static_cast<int32_t>(this->m_appRenderStates[which].m_value);
} }

View File

@ -108,12 +108,12 @@ class CGxDevice {
uint32_t m_appMasterEnables = 0; uint32_t m_appMasterEnables = 0;
uint32_t m_hwMasterEnables = 0; uint32_t m_hwMasterEnables = 0;
TSList<CGxPool, TSGetLink<CGxPool>> m_poolList; TSList<CGxPool, TSGetLink<CGxPool>> m_poolList;
CGxBuf* m_bufLocked[GxPoolTargets_Last]; CGxBuf* m_bufLocked[GxPoolTargets_Last] = {};
CGxPool* m_vertexPool = nullptr; CGxPool* m_vertexPool = nullptr;
CGxPool* m_indexPool = nullptr; CGxPool* m_indexPool = nullptr;
CGxBuf* m_streamBufs[GxPoolTargets_Last]; CGxBuf* m_streamBufs[GxPoolTargets_Last] = {};
CGxVertexAttrib m_primVertexFormatAttrib[GxVertexBufferFormats_Last]; CGxVertexAttrib m_primVertexFormatAttrib[GxVertexBufferFormats_Last];
CGxBuf* m_primVertexFormatBuf[GxVertexBufferFormats_Last]; CGxBuf* m_primVertexFormatBuf[GxVertexBufferFormats_Last] = {};
uint32_t m_primVertexMask = 0; uint32_t m_primVertexMask = 0;
uint32_t m_primVertexDirty = 0; uint32_t m_primVertexDirty = 0;
EGxVertexBufferFormat m_primVertexFormat = GxVertexBufferFormats_Last; EGxVertexBufferFormat m_primVertexFormat = GxVertexBufferFormats_Last;
@ -124,7 +124,7 @@ class CGxDevice {
TSFixedArray<CGxAppRenderState> m_appRenderStates; TSFixedArray<CGxAppRenderState> m_appRenderStates;
TSFixedArray<CGxStateBom> m_hwRenderStates; TSFixedArray<CGxStateBom> m_hwRenderStates;
// TODO // TODO
TextureTarget m_textureTarget[GxBuffers_Last]; TextureTarget m_textureTarget[GxBuffers_Last] = {};
// TODO // TODO
uint32_t m_baseMipLevel = 0; // TODO placeholder uint32_t m_baseMipLevel = 0; // TODO placeholder
@ -183,6 +183,7 @@ class CGxDevice {
void PrimVertexFormat(CGxBuf*, CGxVertexAttrib*, uint32_t); void PrimVertexFormat(CGxBuf*, CGxVertexAttrib*, uint32_t);
void PrimVertexMask(uint32_t); void PrimVertexMask(uint32_t);
void PrimVertexPtr(CGxBuf*, EGxVertexBufferFormat); void PrimVertexPtr(CGxBuf*, EGxVertexBufferFormat);
void RenderTargetGet(EGxBuffer buffer, CGxTex*& gxTex);
void RsGet(EGxRenderState, int32_t&); void RsGet(EGxRenderState, int32_t&);
void RsSet(EGxRenderState, int32_t); void RsSet(EGxRenderState, int32_t);
void RsSet(EGxRenderState, void*); void RsSet(EGxRenderState, void*);

6
src/gx/RenderTarget.cpp Normal file
View File

@ -0,0 +1,6 @@
#include "gx/RenderTarget.hpp"
#include "gx/Device.hpp"
void GxRenderTargetGet(EGxBuffer buffer, CGxTex*& gxTex) {
g_theGxDevicePtr->RenderTargetGet(buffer, gxTex);
}

10
src/gx/RenderTarget.hpp Normal file
View File

@ -0,0 +1,10 @@
#ifndef GX_RENDER_TARGET_HPP
#define GX_RENDER_TARGET_HPP
#include "gx/Types.hpp"
class CGxTex;
void GxRenderTargetGet(EGxBuffer buffer, CGxTex*& gxTex);
#endif