nCine/Graphics/RHI/RSX/RsxVram.h file

Namespaces

namespace nCine
Root namespace of nCine game engine.
namespace nCine::RHI
Render Hardware Interface — compile-time-selectable graphics backend abstraction.
namespace nCine::RHI::RSX
PlayStation 3 backend driving the RSX through libgcm natively, selected by WITH_RHI_RSX.
namespace nCine::RHI::RSX::RsxVram
Suballocator for the two address windows the RSX reads — local GDDR3 and mapped main memory.

Classes

struct nCine::RHI::RSX::RsxVram::Block
A GPU-visible allocation: its CPU-side base address and the offset the RSX addresses it by.

Enums

enum class Location { Local, Main }
Which of the GPU's two address windows a block lives in (it selects the GCM_LOCATION_* a command takes).

Functions

auto Initialize(void* mainHeapBase, std::uint32_t mainHeapSize) -> bool
Brings up the main-memory heap.
void Shutdown()
Releases the main-memory heap (the RSX heap belongs to the context and goes with it).
auto Alloc(std::uint32_t size, std::uint32_t alignment, Location where) -> Block
Allocates GPU-visible memory.
auto AllocSurface(std::uint32_t width, std::uint32_t height, std::uint32_t bytesPerPixel, std::uint32_t& pitchOut) -> Block
Allocates a render-target or display surface in local memory.
auto AllocFragmentProgram(std::uint32_t size) -> Block
Allocates storage for fragment program microcode.
void Free(Block& block)
Releases a block obtained from any of the allocators above and invalidates it.
auto GetLocalAllocatedBytes() -> std::uint32_t
Returns the number of bytes currently reserved in local memory (for the memory report).
auto GetMainAllocatedBytes() -> std::uint32_t
Returns the number of bytes currently reserved in main memory (for the memory report).