From e7bd5968cf4003df446c4090428ac35930731f68 Mon Sep 17 00:00:00 2001 From: fallenoak Date: Wed, 18 Feb 2026 08:43:11 -0600 Subject: [PATCH] feat(gx): add GxRenderTargetGet --- src/gx/CGxDevice.cpp | 4 ++++ src/gx/CGxDevice.hpp | 1 + src/gx/RenderTarget.cpp | 6 ++++++ src/gx/RenderTarget.hpp | 10 ++++++++++ 4 files changed, 21 insertions(+) create mode 100644 src/gx/RenderTarget.cpp create mode 100644 src/gx/RenderTarget.hpp diff --git a/src/gx/CGxDevice.cpp b/src/gx/CGxDevice.cpp index 880a107..b3eac61 100644 --- a/src/gx/CGxDevice.cpp +++ b/src/gx/CGxDevice.cpp @@ -924,6 +924,10 @@ CGxPool* CGxDevice::PoolCreate(EGxPoolTarget target, EGxPoolUsage usage, uint32_ return pool; } +void CGxDevice::RenderTargetGet(EGxBuffer buffer, CGxTex*& gxTex) { + gxTex = this->m_textureTarget[buffer].m_texture; +} + void CGxDevice::RsGet(EGxRenderState which, int32_t& value) { value = static_cast(this->m_appRenderStates[which].m_value); } diff --git a/src/gx/CGxDevice.hpp b/src/gx/CGxDevice.hpp index 0c7ed1e..edf9f99 100644 --- a/src/gx/CGxDevice.hpp +++ b/src/gx/CGxDevice.hpp @@ -183,6 +183,7 @@ class CGxDevice { void PrimVertexFormat(CGxBuf*, CGxVertexAttrib*, uint32_t); void PrimVertexMask(uint32_t); void PrimVertexPtr(CGxBuf*, EGxVertexBufferFormat); + void RenderTargetGet(EGxBuffer buffer, CGxTex*& gxTex); void RsGet(EGxRenderState, int32_t&); void RsSet(EGxRenderState, int32_t); void RsSet(EGxRenderState, void*); diff --git a/src/gx/RenderTarget.cpp b/src/gx/RenderTarget.cpp new file mode 100644 index 0000000..d847708 --- /dev/null +++ b/src/gx/RenderTarget.cpp @@ -0,0 +1,6 @@ +#include "gx/RenderTarget.hpp" +#include "gx/Device.hpp" + +void GxRenderTargetGet(EGxBuffer buffer, CGxTex*& gxTex) { + g_theGxDevicePtr->RenderTargetGet(buffer, gxTex); +} diff --git a/src/gx/RenderTarget.hpp b/src/gx/RenderTarget.hpp new file mode 100644 index 0000000..c95cad2 --- /dev/null +++ b/src/gx/RenderTarget.hpp @@ -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