diff --git a/rpcs3/Emu/ARMv7/Modules/sceGxm.cpp b/rpcs3/Emu/ARMv7/Modules/sceGxm.cpp new file mode 100644 index 0000000000..3614803537 --- /dev/null +++ b/rpcs3/Emu/ARMv7/Modules/sceGxm.cpp @@ -0,0 +1,1290 @@ +#include "stdafx.h" +#include "Emu/System.h" +#include "Emu/ARMv7/PSVFuncList.h" + +#include "sceGxm.h" + +s32 sceGxmInitialize(vm::psv::ptr params) +{ + throw __FUNCTION__; +} + +s32 sceGxmTerminate() +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceGxmGetNotificationRegion() +{ + throw __FUNCTION__; +} + +s32 sceGxmNotificationWait(vm::psv::ptr notification) +{ + throw __FUNCTION__; +} + +s32 sceGxmMapMemory(vm::psv::ptr base, u32 size, SceGxmMemoryAttribFlags attr) +{ + throw __FUNCTION__; +} + +s32 sceGxmUnmapMemory(vm::psv::ptr base) +{ + throw __FUNCTION__; +} + +s32 sceGxmMapVertexUsseMemory(vm::psv::ptr base, u32 size, vm::psv::ptr offset) +{ + throw __FUNCTION__; +} + +s32 sceGxmUnmapVertexUsseMemory(vm::psv::ptr base) +{ + throw __FUNCTION__; +} + +s32 sceGxmMapFragmentUsseMemory(vm::psv::ptr base, u32 size, vm::psv::ptr offset) +{ + throw __FUNCTION__; +} + +s32 sceGxmUnmapFragmentUsseMemory(vm::psv::ptr base) +{ + throw __FUNCTION__; +} + +s32 sceGxmDisplayQueueAddEntry(vm::psv::ptr oldBuffer, vm::psv::ptr newBuffer, vm::psv::ptr callbackData) +{ + throw __FUNCTION__; +} + +s32 sceGxmDisplayQueueFinish() +{ + throw __FUNCTION__; +} + +s32 sceGxmSyncObjectCreate(vm::psv::ptr> syncObject) +{ + throw __FUNCTION__; +} + +s32 sceGxmSyncObjectDestroy(vm::psv::ptr syncObject) +{ + throw __FUNCTION__; +} + + +s32 sceGxmCreateContext(vm::psv::ptr params, vm::psv::ptr> context) +{ + throw __FUNCTION__; +} + +s32 sceGxmDestroyContext(vm::psv::ptr context) +{ + throw __FUNCTION__; +} + +void sceGxmSetValidationEnable(vm::psv::ptr context, bool enable) +{ + throw __FUNCTION__; +} + + +void sceGxmSetVertexProgram(vm::psv::ptr context, vm::psv::ptr vertexProgram) +{ + throw __FUNCTION__; +} + +void sceGxmSetFragmentProgram(vm::psv::ptr context, vm::psv::ptr fragmentProgram) +{ + throw __FUNCTION__; +} + +s32 sceGxmReserveVertexDefaultUniformBuffer(vm::psv::ptr context, vm::psv::ptr> uniformBuffer) +{ + throw __FUNCTION__; +} + +s32 sceGxmReserveFragmentDefaultUniformBuffer(vm::psv::ptr context, vm::psv::ptr> uniformBuffer) +{ + throw __FUNCTION__; +} + +s32 sceGxmSetVertexStream(vm::psv::ptr context, u32 streamIndex, vm::psv::ptr streamData) +{ + throw __FUNCTION__; +} + +s32 sceGxmSetVertexTexture(vm::psv::ptr context, u32 textureIndex, vm::psv::ptr texture) +{ + throw __FUNCTION__; +} + +s32 sceGxmSetFragmentTexture(vm::psv::ptr context, u32 textureIndex, vm::psv::ptr texture) +{ + throw __FUNCTION__; +} + +s32 sceGxmSetVertexUniformBuffer(vm::psv::ptr context, u32 bufferIndex, vm::psv::ptr bufferData) +{ + throw __FUNCTION__; +} + +s32 sceGxmSetFragmentUniformBuffer(vm::psv::ptr context, u32 bufferIndex, vm::psv::ptr bufferData) +{ + throw __FUNCTION__; +} + +s32 sceGxmSetAuxiliarySurface(vm::psv::ptr context, u32 surfaceIndex, vm::psv::ptr surface) +{ + throw __FUNCTION__; +} + + +void sceGxmSetPrecomputedFragmentState(vm::psv::ptr context, vm::psv::ptr precomputedState) +{ + throw __FUNCTION__; +} + +void sceGxmSetPrecomputedVertexState(vm::psv::ptr context, vm::psv::ptr precomputedState) +{ + throw __FUNCTION__; +} + +s32 sceGxmDrawPrecomputed(vm::psv::ptr context, vm::psv::ptr precomputedDraw) +{ + throw __FUNCTION__; +} + +s32 sceGxmDraw(vm::psv::ptr context, SceGxmPrimitiveType primType, SceGxmIndexFormat indexType, vm::psv::ptr indexData, u32 indexCount) +{ + throw __FUNCTION__; +} + +s32 sceGxmDrawInstanced(vm::psv::ptr context, SceGxmPrimitiveType primType, SceGxmIndexFormat indexType, vm::psv::ptr indexData, u32 indexCount, u32 indexWrap) +{ + throw __FUNCTION__; +} + +s32 sceGxmSetVisibilityBuffer(vm::psv::ptr context, vm::psv::ptr bufferBase, u32 stridePerCore) +{ + throw __FUNCTION__; +} + +s32 sceGxmBeginScene(vm::psv::ptr context, u32 flags, vm::psv::ptr renderTarget, vm::psv::ptr validRegion, vm::psv::ptr vertexSyncObject, vm::psv::ptr fragmentSyncObject, vm::psv::ptr colorSurface, vm::psv::ptr depthStencil) +{ + throw __FUNCTION__; +} + +s32 sceGxmMidSceneFlush(vm::psv::ptr context, u32 flags, vm::psv::ptr vertexSyncObject, vm::psv::ptr vertexNotification) +{ + throw __FUNCTION__; +} + +s32 sceGxmEndScene(vm::psv::ptr context, vm::psv::ptr vertexNotification, vm::psv::ptr fragmentNotification) +{ + throw __FUNCTION__; +} + +void sceGxmSetFrontDepthFunc(vm::psv::ptr context, SceGxmDepthFunc depthFunc) +{ + throw __FUNCTION__; +} + +void sceGxmSetBackDepthFunc(vm::psv::ptr context, SceGxmDepthFunc depthFunc) +{ + throw __FUNCTION__; +} + +void sceGxmSetFrontFragmentProgramEnable(vm::psv::ptr context, SceGxmFragmentProgramMode enable) +{ + throw __FUNCTION__; +} + +void sceGxmSetBackFragmentProgramEnable(vm::psv::ptr context, SceGxmFragmentProgramMode enable) +{ + throw __FUNCTION__; +} + +void sceGxmSetFrontDepthWriteEnable(vm::psv::ptr context, SceGxmDepthWriteMode enable) +{ + throw __FUNCTION__; +} + +void sceGxmSetBackDepthWriteEnable(vm::psv::ptr context, SceGxmDepthWriteMode enable) +{ + throw __FUNCTION__; +} + +void sceGxmSetFrontLineFillLastPixelEnable(vm::psv::ptr context, SceGxmLineFillLastPixelMode enable) +{ + throw __FUNCTION__; +} + +void sceGxmSetBackLineFillLastPixelEnable(vm::psv::ptr context, SceGxmLineFillLastPixelMode enable) +{ + throw __FUNCTION__; +} + +void sceGxmSetFrontStencilRef(vm::psv::ptr context, u32 sref) +{ + throw __FUNCTION__; +} + +void sceGxmSetBackStencilRef(vm::psv::ptr context, u32 sref) +{ + throw __FUNCTION__; +} + +void sceGxmSetFrontPointLineWidth(vm::psv::ptr context, u32 width) +{ + throw __FUNCTION__; +} + +void sceGxmSetBackPointLineWidth(vm::psv::ptr context, u32 width) +{ + throw __FUNCTION__; +} + +void sceGxmSetFrontPolygonMode(vm::psv::ptr context, SceGxmPolygonMode mode) +{ + throw __FUNCTION__; +} + +void sceGxmSetBackPolygonMode(vm::psv::ptr context, SceGxmPolygonMode mode) +{ + throw __FUNCTION__; +} + +void sceGxmSetFrontStencilFunc(vm::psv::ptr context, SceGxmStencilFunc func, SceGxmStencilOp stencilFail, SceGxmStencilOp depthFail, SceGxmStencilOp depthPass, uint8_t compareMask, uint8_t writeMask) +{ + throw __FUNCTION__; +} + + +void sceGxmSetBackStencilFunc(vm::psv::ptr context, SceGxmStencilFunc func, SceGxmStencilOp stencilFail, SceGxmStencilOp depthFail, SceGxmStencilOp depthPass, uint8_t compareMask, uint8_t writeMask) +{ + throw __FUNCTION__; +} + +void sceGxmSetFrontDepthBias(vm::psv::ptr context, int32_t factor, int32_t units) +{ + throw __FUNCTION__; +} + +void sceGxmSetBackDepthBias(vm::psv::ptr context, int32_t factor, int32_t units) +{ + throw __FUNCTION__; +} + +void sceGxmSetTwoSidedEnable(vm::psv::ptr context, SceGxmTwoSidedMode enable) +{ + throw __FUNCTION__; +} + +//void sceGxmSetViewport(vm::psv::ptr context, float xOffset, float xScale, float yOffset, float yScale, float zOffset, float zScale) +//{ +// throw __FUNCTION__; +//} +// +//void sceGxmSetWClampValue(vm::psv::ptr context, float clampValue) +//{ +// throw __FUNCTION__; +//} + +void sceGxmSetWClampEnable(vm::psv::ptr context, SceGxmWClampMode enable) +{ + throw __FUNCTION__; +} + +void sceGxmSetRegionClip(vm::psv::ptr context, SceGxmRegionClipMode mode, u32 xMin, u32 yMin, u32 xMax, u32 yMax) +{ + throw __FUNCTION__; +} + +void sceGxmSetCullMode(vm::psv::ptr context, SceGxmCullMode mode) +{ + throw __FUNCTION__; +} + +void sceGxmSetViewportEnable(vm::psv::ptr context, SceGxmViewportMode enable) +{ + throw __FUNCTION__; +} + +void sceGxmSetWBufferEnable(vm::psv::ptr context, SceGxmWBufferMode enable) +{ + throw __FUNCTION__; +} + +void sceGxmSetFrontVisibilityTestIndex(vm::psv::ptr context, u32 index) +{ + throw __FUNCTION__; +} + +void sceGxmSetBackVisibilityTestIndex(vm::psv::ptr context, u32 index) +{ + throw __FUNCTION__; +} + +void sceGxmSetFrontVisibilityTestOp(vm::psv::ptr context, SceGxmVisibilityTestOp op) +{ + throw __FUNCTION__; +} + +void sceGxmSetBackVisibilityTestOp(vm::psv::ptr context, SceGxmVisibilityTestOp op) +{ + throw __FUNCTION__; +} + +void sceGxmSetFrontVisibilityTestEnable(vm::psv::ptr context, SceGxmVisibilityTestMode enable) +{ + throw __FUNCTION__; +} + +void sceGxmSetBackVisibilityTestEnable(vm::psv::ptr context, SceGxmVisibilityTestMode enable) +{ + throw __FUNCTION__; +} + +void sceGxmFinish(vm::psv::ptr context) +{ + throw __FUNCTION__; +} + +s32 sceGxmPushUserMarker(vm::psv::ptr context, vm::psv::ptr tag) +{ + throw __FUNCTION__; +} + +s32 sceGxmPopUserMarker(vm::psv::ptr context) +{ + throw __FUNCTION__; +} + +s32 sceGxmSetUserMarker(vm::psv::ptr context, vm::psv::ptr tag) +{ + throw __FUNCTION__; +} + +s32 sceGxmPadHeartbeat(vm::psv::ptr displaySurface, vm::psv::ptr displaySyncObject) +{ + throw __FUNCTION__; +} + +s32 sceGxmPadTriggerGpuPaTrace() +{ + throw __FUNCTION__; +} + +s32 sceGxmColorSurfaceInit(vm::psv::ptr surface, SceGxmColorFormat colorFormat, SceGxmColorSurfaceType surfaceType, SceGxmColorSurfaceScaleMode scaleMode, SceGxmOutputRegisterSize outputRegisterSize, u32 width, u32 height, u32 strideInPixels, vm::psv::ptr data) +{ + throw __FUNCTION__; +} + +s32 sceGxmColorSurfaceInitDisabled(vm::psv::ptr surface) +{ + throw __FUNCTION__; +} + +bool sceGxmColorSurfaceIsEnabled(vm::psv::ptr surface) +{ + throw __FUNCTION__; +} + +void sceGxmColorSurfaceGetClip(vm::psv::ptr surface, vm::psv::ptr xMin, vm::psv::ptr yMin, vm::psv::ptr xMax, vm::psv::ptr yMax) +{ + throw __FUNCTION__; +} + +void sceGxmColorSurfaceSetClip(vm::psv::ptr surface, u32 xMin, u32 yMin, u32 xMax, u32 yMax) +{ + throw __FUNCTION__; +} + +SceGxmColorSurfaceScaleMode sceGxmColorSurfaceGetScaleMode(vm::psv::ptr surface) +{ + throw __FUNCTION__; +} + +void sceGxmColorSurfaceSetScaleMode(vm::psv::ptr surface, SceGxmColorSurfaceScaleMode scaleMode) +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceGxmColorSurfaceGetData(vm::psv::ptr surface) +{ + throw __FUNCTION__; +} + +s32 sceGxmColorSurfaceSetData(vm::psv::ptr surface, vm::psv::ptr data) +{ + throw __FUNCTION__; +} + +SceGxmColorFormat sceGxmColorSurfaceGetFormat(vm::psv::ptr surface) +{ + throw __FUNCTION__; +} + +s32 sceGxmColorSurfaceSetFormat(vm::psv::ptr surface, SceGxmColorFormat format) +{ + throw __FUNCTION__; +} + +SceGxmColorSurfaceType sceGxmColorSurfaceGetType(vm::psv::ptr surface) +{ + throw __FUNCTION__; +} + +u32 sceGxmColorSurfaceGetStrideInPixels(vm::psv::ptr surface) +{ + throw __FUNCTION__; +} + +s32 sceGxmDepthStencilSurfaceInit(vm::psv::ptr surface, SceGxmDepthStencilFormat depthStencilFormat, SceGxmDepthStencilSurfaceType surfaceType, u32 strideInSamples, vm::psv::ptr depthData, vm::psv::ptr stencilData) +{ + throw __FUNCTION__; +} + +s32 sceGxmDepthStencilSurfaceInitDisabled(vm::psv::ptr surface) +{ + throw __FUNCTION__; +} + +//float sceGxmDepthStencilSurfaceGetBackgroundDepth(vm::psv::ptr surface) +//{ +// throw __FUNCTION__; +//} + +//void sceGxmDepthStencilSurfaceSetBackgroundDepth(vm::psv::ptr surface, float backgroundDepth) +//{ +// throw __FUNCTION__; +//} + +uint8_t sceGxmDepthStencilSurfaceGetBackgroundStencil(vm::psv::ptr surface) +{ + throw __FUNCTION__; +} + +void sceGxmDepthStencilSurfaceSetBackgroundStencil(vm::psv::ptr surface, uint8_t backgroundStencil) +{ + throw __FUNCTION__; +} + +bool sceGxmDepthStencilSurfaceIsEnabled(vm::psv::ptr surface) +{ + throw __FUNCTION__; +} + +void sceGxmDepthStencilSurfaceSetForceLoadMode(vm::psv::ptr surface, SceGxmDepthStencilForceLoadMode forceLoad) +{ + throw __FUNCTION__; +} + +SceGxmDepthStencilForceLoadMode sceGxmDepthStencilSurfaceGetForceLoadMode(vm::psv::ptr surface) +{ + throw __FUNCTION__; +} + +void sceGxmDepthStencilSurfaceSetForceStoreMode(vm::psv::ptr surface, SceGxmDepthStencilForceStoreMode forceStore) +{ + throw __FUNCTION__; +} + +SceGxmDepthStencilForceStoreMode sceGxmDepthStencilSurfaceGetForceStoreMode(vm::psv::ptr surface) +{ + throw __FUNCTION__; +} + +SceGxmColorSurfaceGammaMode sceGxmColorSurfaceGetGammaMode(vm::psv::ptr surface) +{ + throw __FUNCTION__; +} + +s32 sceGxmColorSurfaceSetGammaMode(vm::psv::ptr surface, SceGxmColorSurfaceGammaMode gammaMode) +{ + throw __FUNCTION__; +} + +SceGxmColorSurfaceDitherMode sceGxmColorSurfaceGetDitherMode(vm::psv::ptr surface) +{ + throw __FUNCTION__; +} + +s32 sceGxmColorSurfaceSetDitherMode(vm::psv::ptr surface, SceGxmColorSurfaceDitherMode ditherMode) +{ + throw __FUNCTION__; +} + +SceGxmDepthStencilFormat sceGxmDepthStencilSurfaceGetFormat(vm::psv::ptr surface) +{ + throw __FUNCTION__; +} + +u32 sceGxmDepthStencilSurfaceGetStrideInSamples(vm::psv::ptr surface) +{ + throw __FUNCTION__; +} + + +s32 sceGxmProgramCheck(vm::psv::ptr program) +{ + throw __FUNCTION__; +} + +u32 sceGxmProgramGetSize(vm::psv::ptr program) +{ + throw __FUNCTION__; +} + +SceGxmProgramType sceGxmProgramGetType(vm::psv::ptr program) +{ + throw __FUNCTION__; +} + +bool sceGxmProgramIsDiscardUsed(vm::psv::ptr program) +{ + throw __FUNCTION__; +} + +bool sceGxmProgramIsDepthReplaceUsed(vm::psv::ptr program) +{ + throw __FUNCTION__; +} + +bool sceGxmProgramIsSpriteCoordUsed(vm::psv::ptr program) +{ + throw __FUNCTION__; +} + +u32 sceGxmProgramGetDefaultUniformBufferSize(vm::psv::ptr program) +{ + throw __FUNCTION__; +} + +u32 sceGxmProgramGetParameterCount(vm::psv::ptr program) +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceGxmProgramGetParameter(vm::psv::ptr program, u32 index) +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceGxmProgramFindParameterByName(vm::psv::ptr program, vm::psv::ptr name) +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceGxmProgramFindParameterBySemantic(vm::psv::ptr program, SceGxmParameterSemantic semantic, u32 index) +{ + throw __FUNCTION__; +} + +u32 sceGxmProgramParameterGetIndex(vm::psv::ptr program, vm::psv::ptr parameter) +{ + throw __FUNCTION__; +} + +SceGxmParameterCategory sceGxmProgramParameterGetCategory(vm::psv::ptr parameter) +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceGxmProgramParameterGetName(vm::psv::ptr parameter) +{ + throw __FUNCTION__; +} + +SceGxmParameterSemantic sceGxmProgramParameterGetSemantic(vm::psv::ptr parameter) +{ + throw __FUNCTION__; +} + +u32 sceGxmProgramParameterGetSemanticIndex(vm::psv::ptr parameter) +{ + throw __FUNCTION__; +} + +SceGxmParameterType sceGxmProgramParameterGetType(vm::psv::ptr parameter) +{ + throw __FUNCTION__; +} + +u32 sceGxmProgramParameterGetComponentCount(vm::psv::ptr parameter) +{ + throw __FUNCTION__; +} + +u32 sceGxmProgramParameterGetArraySize(vm::psv::ptr parameter) +{ + throw __FUNCTION__; +} + +u32 sceGxmProgramParameterGetResourceIndex(vm::psv::ptr parameter) +{ + throw __FUNCTION__; +} + +u32 sceGxmProgramParameterGetContainerIndex(vm::psv::ptr parameter) +{ + throw __FUNCTION__; +} + +bool sceGxmProgramParameterIsSamplerCube(vm::psv::ptr parameter) +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceGxmFragmentProgramGetProgram(vm::psv::ptr fragmentProgram) +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceGxmVertexProgramGetProgram(vm::psv::ptr vertexProgram) +{ + throw __FUNCTION__; +} + + +s32 sceGxmShaderPatcherCreate(vm::psv::ptr params, vm::psv::ptr> shaderPatcher) +{ + throw __FUNCTION__; +} + +s32 sceGxmShaderPatcherSetUserData(vm::psv::ptr shaderPatcher, vm::psv::ptr userData) +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceGxmShaderPatcherGetUserData(vm::psv::ptr shaderPatcher) +{ + throw __FUNCTION__; +} + +s32 sceGxmShaderPatcherDestroy(vm::psv::ptr shaderPatcher) +{ + throw __FUNCTION__; +} + +s32 sceGxmShaderPatcherRegisterProgram(vm::psv::ptr shaderPatcher, vm::psv::ptr programHeader, vm::psv::ptr programId) +{ + throw __FUNCTION__; +} + +s32 sceGxmShaderPatcherUnregisterProgram(vm::psv::ptr shaderPatcher, SceGxmShaderPatcherId programId) +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceGxmShaderPatcherGetProgramFromId(SceGxmShaderPatcherId programId) +{ + throw __FUNCTION__; +} + +s32 sceGxmShaderPatcherSetAuxiliarySurface(vm::psv::ptr shaderPatcher, u32 auxSurfaceIndex, vm::psv::ptr auxSurface) +{ + throw __FUNCTION__; +} + +s32 sceGxmShaderPatcherCreateVertexProgram(vm::psv::ptr shaderPatcher, SceGxmShaderPatcherId programId, vm::psv::ptr attributes, u32 attributeCount, vm::psv::ptr streams, u32 streamCount, vm::psv::ptr> vertexProgram) +{ + throw __FUNCTION__; +} + +s32 sceGxmShaderPatcherCreateFragmentProgram(vm::psv::ptr shaderPatcher, SceGxmShaderPatcherId programId, SceGxmOutputRegisterFormat outputFormat, SceGxmMultisampleMode multisampleMode, vm::psv::ptr blendInfo, vm::psv::ptr vertexProgram, vm::psv::ptr> fragmentProgram) +{ + throw __FUNCTION__; +} + +s32 sceGxmShaderPatcherAddRefVertexProgram(vm::psv::ptr shaderPatcher, vm::psv::ptr vertexProgram) +{ + throw __FUNCTION__; +} + +s32 sceGxmShaderPatcherAddRefFragmentProgram(vm::psv::ptr shaderPatcher, vm::psv::ptr fragmentProgram) +{ + throw __FUNCTION__; +} + +s32 sceGxmShaderPatcherReleaseVertexProgram(vm::psv::ptr shaderPatcher, vm::psv::ptr vertexProgram) +{ + throw __FUNCTION__; +} + +s32 sceGxmShaderPatcherReleaseFragmentProgram(vm::psv::ptr shaderPatcher, vm::psv::ptr fragmentProgram) +{ + throw __FUNCTION__; +} + +u32 sceGxmShaderPatcherGetHostMemAllocated(vm::psv::ptr shaderPatcher) +{ + throw __FUNCTION__; +} + +u32 sceGxmShaderPatcherGetBufferMemAllocated(vm::psv::ptr shaderPatcher) +{ + throw __FUNCTION__; +} + +u32 sceGxmShaderPatcherGetVertexUsseMemAllocated(vm::psv::ptr shaderPatcher) +{ + throw __FUNCTION__; +} + +u32 sceGxmShaderPatcherGetFragmentUsseMemAllocated(vm::psv::ptr shaderPatcher) +{ + throw __FUNCTION__; +} + +s32 sceGxmTextureInitSwizzled(vm::psv::ptr texture, vm::psv::ptr data, SceGxmTextureFormat texFormat, u32 width, u32 height, u32 mipCount) +{ + throw __FUNCTION__; +} + +s32 sceGxmTextureInitLinear(vm::psv::ptr texture, vm::psv::ptr data, SceGxmTextureFormat texFormat, u32 width, u32 height, u32 mipCount) +{ + throw __FUNCTION__; +} + +s32 sceGxmTextureInitLinearStrided(vm::psv::ptr texture, vm::psv::ptr data, SceGxmTextureFormat texFormat, u32 width, u32 height, u32 byteStride) +{ + throw __FUNCTION__; +} + +s32 sceGxmTextureInitTiled(vm::psv::ptr texture, vm::psv::ptr data, SceGxmTextureFormat texFormat, u32 width, u32 height, u32 mipCount) +{ + throw __FUNCTION__; +} + +s32 sceGxmTextureInitCube(vm::psv::ptr texture, vm::psv::ptr data, SceGxmTextureFormat texFormat, u32 width, u32 height, u32 mipCount) +{ + throw __FUNCTION__; +} + +SceGxmTextureType sceGxmTextureGetType(vm::psv::ptr texture) +{ + throw __FUNCTION__; +} + +s32 sceGxmTextureSetMinFilter(vm::psv::ptr texture, SceGxmTextureFilter minFilter) +{ + throw __FUNCTION__; +} + +SceGxmTextureFilter sceGxmTextureGetMinFilter(vm::psv::ptr texture) +{ + throw __FUNCTION__; +} + +s32 sceGxmTextureSetMagFilter(vm::psv::ptr texture, SceGxmTextureFilter magFilter) +{ + throw __FUNCTION__; +} + +SceGxmTextureFilter sceGxmTextureGetMagFilter(vm::psv::ptr texture) +{ + throw __FUNCTION__; +} + +s32 sceGxmTextureSetMipFilter(vm::psv::ptr texture, SceGxmTextureMipFilter mipFilter) +{ + throw __FUNCTION__; +} + +SceGxmTextureMipFilter sceGxmTextureGetMipFilter(vm::psv::ptr texture) +{ + throw __FUNCTION__; +} + +s32 sceGxmTextureSetAnisoMode(vm::psv::ptr texture, SceGxmTextureAnisoMode anisoMode) +{ + throw __FUNCTION__; +} + +SceGxmTextureAnisoMode sceGxmTextureGetAnisoMode(vm::psv::ptr texture) +{ + throw __FUNCTION__; +} + +s32 sceGxmTextureSetUAddrMode(vm::psv::ptr texture, SceGxmTextureAddrMode addrMode) +{ + throw __FUNCTION__; +} + +SceGxmTextureAddrMode sceGxmTextureGetUAddrMode(vm::psv::ptr texture) +{ + throw __FUNCTION__; +} + +s32 sceGxmTextureSetVAddrMode(vm::psv::ptr texture, SceGxmTextureAddrMode addrMode) +{ + throw __FUNCTION__; +} + +SceGxmTextureAddrMode sceGxmTextureGetVAddrMode(vm::psv::ptr texture) +{ + throw __FUNCTION__; +} + +s32 sceGxmTextureSetFormat(vm::psv::ptr texture, SceGxmTextureFormat texFormat) +{ + throw __FUNCTION__; +} + +SceGxmTextureFormat sceGxmTextureGetFormat(vm::psv::ptr texture) +{ + throw __FUNCTION__; +} + +s32 sceGxmTextureSetLodBias(vm::psv::ptr texture, u32 bias) +{ + throw __FUNCTION__; +} + +u32 sceGxmTextureGetLodBias(vm::psv::ptr texture) +{ + throw __FUNCTION__; +} + +s32 sceGxmTextureSetStride(vm::psv::ptr texture, u32 byteStride) +{ + throw __FUNCTION__; +} + +u32 sceGxmTextureGetStride(vm::psv::ptr texture) +{ + throw __FUNCTION__; +} + +s32 sceGxmTextureSetWidth(vm::psv::ptr texture, u32 width) +{ + throw __FUNCTION__; +} + +u32 sceGxmTextureGetWidth(vm::psv::ptr texture) +{ + throw __FUNCTION__; +} + +s32 sceGxmTextureSetHeight(vm::psv::ptr texture, u32 height) +{ + throw __FUNCTION__; +} + +u32 sceGxmTextureGetHeight(vm::psv::ptr texture) +{ + throw __FUNCTION__; +} + +s32 sceGxmTextureSetData(vm::psv::ptr texture, vm::psv::ptr data) +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceGxmTextureGetData(vm::psv::ptr texture) +{ + throw __FUNCTION__; +} + +s32 sceGxmTextureSetMipmapCount(vm::psv::ptr texture, u32 mipCount) +{ + throw __FUNCTION__; +} + +u32 sceGxmTextureGetMipmapCount(vm::psv::ptr texture) +{ + throw __FUNCTION__; +} + +s32 sceGxmTextureSetPalette(vm::psv::ptr texture, vm::psv::ptr paletteData) +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceGxmTextureGetPalette(vm::psv::ptr texture) +{ + throw __FUNCTION__; +} + +SceGxmTextureGammaMode sceGxmTextureGetGammaMode(vm::psv::ptr texture) +{ + throw __FUNCTION__; +} + +s32 sceGxmTextureSetGammaMode(vm::psv::ptr texture, SceGxmTextureGammaMode gammaMode) +{ + throw __FUNCTION__; +} + +u32 sceGxmGetPrecomputedVertexStateSize(vm::psv::ptr vertexProgram) +{ + throw __FUNCTION__; +} + +s32 sceGxmPrecomputedVertexStateInit(vm::psv::ptr precomputedState, vm::psv::ptr vertexProgram, vm::psv::ptr memBlock) +{ + throw __FUNCTION__; +} + +void sceGxmPrecomputedVertexStateSetDefaultUniformBuffer(vm::psv::ptr precomputedState, vm::psv::ptr defaultBuffer) +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceGxmPrecomputedVertexStateGetDefaultUniformBuffer(vm::psv::ptr precomputedState) +{ + throw __FUNCTION__; +} + +s32 sceGxmPrecomputedVertexStateSetAllTextures(vm::psv::ptr precomputedState, vm::psv::ptr textures) +{ + throw __FUNCTION__; +} + +s32 sceGxmPrecomputedVertexStateSetTexture(vm::psv::ptr precomputedState, u32 textureIndex, vm::psv::ptr texture) +{ + throw __FUNCTION__; +} + +s32 sceGxmPrecomputedVertexStateSetAllUniformBuffers(vm::psv::ptr precomputedState, vm::psv::ptr> bufferDataArray) +{ + throw __FUNCTION__; +} + +s32 sceGxmPrecomputedVertexStateSetUniformBuffer(vm::psv::ptr precomputedState, u32 bufferIndex, vm::psv::ptr bufferData) +{ + throw __FUNCTION__; +} + +u32 sceGxmGetPrecomputedFragmentStateSize(vm::psv::ptr fragmentProgram) +{ + throw __FUNCTION__; +} + +s32 sceGxmPrecomputedFragmentStateInit(vm::psv::ptr precomputedState, vm::psv::ptr fragmentProgram, vm::psv::ptr memBlock) +{ + throw __FUNCTION__; +} + +void sceGxmPrecomputedFragmentStateSetDefaultUniformBuffer(vm::psv::ptr precomputedState, vm::psv::ptr defaultBuffer) +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceGxmPrecomputedFragmentStateGetDefaultUniformBuffer(vm::psv::ptr precomputedState) +{ + throw __FUNCTION__; +} + +s32 sceGxmPrecomputedFragmentStateSetAllTextures(vm::psv::ptr precomputedState, vm::psv::ptr textureArray) +{ + throw __FUNCTION__; +} + +s32 sceGxmPrecomputedFragmentStateSetTexture(vm::psv::ptr precomputedState, u32 textureIndex, vm::psv::ptr texture) +{ + throw __FUNCTION__; +} + +s32 sceGxmPrecomputedFragmentStateSetAllUniformBuffers(vm::psv::ptr precomputedState, vm::psv::ptr> bufferDataArray) +{ + throw __FUNCTION__; +} + +s32 sceGxmPrecomputedFragmentStateSetUniformBuffer(vm::psv::ptr precomputedState, u32 bufferIndex, vm::psv::ptr bufferData) +{ + throw __FUNCTION__; +} + +s32 sceGxmPrecomputedFragmentStateSetAllAuxiliarySurfaces(vm::psv::ptr precomputedState, vm::psv::ptr auxSurfaceArray) +{ + throw __FUNCTION__; +} + +u32 sceGxmGetPrecomputedDrawSize(vm::psv::ptr vertexProgram) +{ + throw __FUNCTION__; +} + +s32 sceGxmPrecomputedDrawInit(vm::psv::ptr precomputedDraw, vm::psv::ptr vertexProgram, vm::psv::ptr memBlock) +{ + throw __FUNCTION__; +} + +s32 sceGxmPrecomputedDrawSetAllVertexStreams(vm::psv::ptr precomputedDraw, vm::psv::ptr> streamDataArray) +{ + throw __FUNCTION__; +} + +s32 sceGxmPrecomputedDrawSetVertexStream(vm::psv::ptr precomputedDraw, u32 streamIndex, vm::psv::ptr streamData) +{ + throw __FUNCTION__; +} + +void sceGxmPrecomputedDrawSetParams(vm::psv::ptr precomputedDraw, SceGxmPrimitiveType primType, SceGxmIndexFormat indexType, vm::psv::ptr indexData, u32 indexCount) +{ + throw __FUNCTION__; +} + +void sceGxmPrecomputedDrawSetParamsInstanced(vm::psv::ptr precomputedDraw, SceGxmPrimitiveType primType, SceGxmIndexFormat indexType, vm::psv::ptr indexData, u32 indexCount, u32 indexWrap) +{ + throw __FUNCTION__; +} + + +s32 sceGxmGetRenderTargetMemSizes(vm::psv::ptr params, vm::psv::ptr hostMemSize, vm::psv::ptr driverMemSize) +{ + throw __FUNCTION__; +} + +s32 sceGxmCreateRenderTarget(vm::psv::ptr params, vm::psv::ptr> renderTarget) +{ + throw __FUNCTION__; +} + +s32 sceGxmRenderTargetGetHostMem(vm::psv::ptr renderTarget, vm::psv::ptr> hostMem) +{ + throw __FUNCTION__; +} + +s32 sceGxmRenderTargetGetDriverMemBlock(vm::psv::ptr renderTarget, vm::psv::ptr driverMemBlock) +{ + throw __FUNCTION__; +} + +s32 sceGxmDestroyRenderTarget(vm::psv::ptr renderTarget) +{ + throw __FUNCTION__; +} + +s32 sceGxmSetUniformDataF(vm::psv::ptr uniformBuffer, vm::psv::ptr parameter, u32 componentOffset, u32 componentCount, vm::psv::ptr sourceData) +{ + throw __FUNCTION__; +} + + +#define REG_FUNC(nid, name) reg_psv_func(nid, &sceGxm, #name, name) + +psv_log_base sceGxm("SceGxm", []() +{ + sceGxm.on_load = nullptr; + sceGxm.on_unload = nullptr; + sceGxm.on_stop = nullptr; + + REG_FUNC(0xB0F1E4EC, sceGxmInitialize); + REG_FUNC(0xB627DE66, sceGxmTerminate); + //REG_FUNC(0x48C134AB, sceGxmBug9255RaisePrimitiveSplitThresholdEs2); + //REG_FUNC(0xA3A41A42, sceGxmBug9255SetPrimitiveSplitThresholdEs2); + REG_FUNC(0xC61E34FC, sceGxmMapMemory); + REG_FUNC(0x828C68E8, sceGxmUnmapMemory); + REG_FUNC(0xFA437510, sceGxmMapVertexUsseMemory); + REG_FUNC(0x008402C6, sceGxmMapFragmentUsseMemory); + REG_FUNC(0x099134F5, sceGxmUnmapVertexUsseMemory); + REG_FUNC(0x80CCEDBB, sceGxmUnmapFragmentUsseMemory); + REG_FUNC(0xEC5C26B5, sceGxmDisplayQueueAddEntry); + REG_FUNC(0xB98C5B0D, sceGxmDisplayQueueFinish); + REG_FUNC(0x6A6013E1, sceGxmSyncObjectCreate); + REG_FUNC(0x889AE88C, sceGxmSyncObjectDestroy); + REG_FUNC(0x8BDE825A, sceGxmGetNotificationRegion); + REG_FUNC(0x9F448E79, sceGxmNotificationWait); + REG_FUNC(0x3D25FCE9, sceGxmPadHeartbeat); + REG_FUNC(0x47E06984, sceGxmPadTriggerGpuPaTrace); + REG_FUNC(0x2DB6026C, sceGxmColorSurfaceGetData); + REG_FUNC(0x200A96E1, sceGxmColorSurfaceGetDitherMode); + REG_FUNC(0xF3C1C6C6, sceGxmColorSurfaceGetFormat); + REG_FUNC(0x6E3FA74D, sceGxmColorSurfaceGetScaleMode); + REG_FUNC(0xF33D9980, sceGxmColorSurfaceGetStrideInPixels); + REG_FUNC(0x52FDE962, sceGxmColorSurfaceGetType); + REG_FUNC(0xED0F6E25, sceGxmColorSurfaceInit); + REG_FUNC(0x613639FA, sceGxmColorSurfaceInitDisabled); + REG_FUNC(0x0E0EBB57, sceGxmColorSurfaceIsEnabled); + REG_FUNC(0x07DFEE4B, sceGxmColorSurfaceGetClip); + REG_FUNC(0x86456F7B, sceGxmColorSurfaceSetClip); + REG_FUNC(0x537CA400, sceGxmColorSurfaceSetData); + REG_FUNC(0x45027BAB, sceGxmColorSurfaceSetDitherMode); + REG_FUNC(0x5F9A3A16, sceGxmColorSurfaceSetFormat); + REG_FUNC(0x6B96EDF7, sceGxmColorSurfaceSetScaleMode); + //REG_FUNC(0x269B56BE, sceGxmDepthStencilSurfaceGetBackgroundDepth); + REG_FUNC(0xAAFC062B, sceGxmDepthStencilSurfaceGetBackgroundStencil); + REG_FUNC(0x2F5CC20C, sceGxmDepthStencilSurfaceGetForceLoadMode); + REG_FUNC(0x544AA05A, sceGxmDepthStencilSurfaceGetForceStoreMode); + REG_FUNC(0x8504038D, sceGxmDepthStencilSurfaceGetFormat); + REG_FUNC(0x11628789, sceGxmDepthStencilSurfaceGetStrideInSamples); + REG_FUNC(0xCA9D41D1, sceGxmDepthStencilSurfaceInit); + REG_FUNC(0xA41DB0D6, sceGxmDepthStencilSurfaceInitDisabled); + REG_FUNC(0x082200E1, sceGxmDepthStencilSurfaceIsEnabled); + //REG_FUNC(0x32F280F0, sceGxmDepthStencilSurfaceSetBackgroundDepth); + REG_FUNC(0xF5D3F3E8, sceGxmDepthStencilSurfaceSetBackgroundStencil); + REG_FUNC(0x0C44ACD7, sceGxmDepthStencilSurfaceSetForceLoadMode); + REG_FUNC(0x12AAA7AF, sceGxmDepthStencilSurfaceSetForceStoreMode); + REG_FUNC(0xF5C89643, sceGxmColorSurfaceSetGammaMode); + REG_FUNC(0xEE0B4DF0, sceGxmColorSurfaceGetGammaMode); + REG_FUNC(0xE0E3B3F8, sceGxmFragmentProgramGetProgram); + REG_FUNC(0xBC52320E, sceGxmVertexProgramGetProgram); + REG_FUNC(0xDE9D5911, sceGxmTextureGetAnisoMode); + REG_FUNC(0x5341BD46, sceGxmTextureGetData); + REG_FUNC(0xE868D2B3, sceGxmTextureGetFormat); + REG_FUNC(0x5420A086, sceGxmTextureGetHeight); + REG_FUNC(0x2DE55DA5, sceGxmTextureGetLodBias); + REG_FUNC(0xAE7FBB51, sceGxmTextureGetMagFilter); + REG_FUNC(0x920666C6, sceGxmTextureGetMinFilter); + REG_FUNC(0xCE94CA15, sceGxmTextureGetMipFilter); + REG_FUNC(0x4CC42929, sceGxmTextureGetMipmapCount); + REG_FUNC(0xB0BD52F3, sceGxmTextureGetStride); + REG_FUNC(0xF65D4917, sceGxmTextureGetType); + REG_FUNC(0xC037DA83, sceGxmTextureGetUAddrMode); + REG_FUNC(0xD2F0D9C1, sceGxmTextureGetVAddrMode); + REG_FUNC(0x126A3EB3, sceGxmTextureGetWidth); + REG_FUNC(0x11DC8DC9, sceGxmTextureInitCube); + REG_FUNC(0x4811AECB, sceGxmTextureInitLinear); + REG_FUNC(0x6679BEF0, sceGxmTextureInitLinearStrided); + REG_FUNC(0xD572D547, sceGxmTextureInitSwizzled); + REG_FUNC(0xE6F0DB27, sceGxmTextureInitTiled); + REG_FUNC(0xE719CBD4, sceGxmTextureSetAnisoMode); + REG_FUNC(0x855814C4, sceGxmTextureSetData); + REG_FUNC(0xFC943596, sceGxmTextureSetFormat); + REG_FUNC(0x1B20D5DF, sceGxmTextureSetHeight); + REG_FUNC(0xB65EE6F7, sceGxmTextureSetLodBias); + REG_FUNC(0xFA695FD7, sceGxmTextureSetMagFilter); + REG_FUNC(0x416764E3, sceGxmTextureSetMinFilter); + REG_FUNC(0x1CA9FE0B, sceGxmTextureSetMipFilter); + REG_FUNC(0xD2DC4643, sceGxmTextureSetMipmapCount); + REG_FUNC(0x58D0EB0A, sceGxmTextureSetStride); + REG_FUNC(0x8699ECF4, sceGxmTextureSetUAddrMode); + REG_FUNC(0xFA22F6CC, sceGxmTextureSetVAddrMode); + REG_FUNC(0x5A690B60, sceGxmTextureSetWidth); + REG_FUNC(0xDD6AABFA, sceGxmTextureSetPalette); + REG_FUNC(0x0D189C30, sceGxmTextureGetPalette); + REG_FUNC(0xA6D9F4DA, sceGxmTextureSetGammaMode); + REG_FUNC(0xF23FCE81, sceGxmTextureGetGammaMode); + REG_FUNC(0x85DE8506, sceGxmGetPrecomputedFragmentStateSize); + REG_FUNC(0x9D83CA3B, sceGxmGetPrecomputedVertexStateSize); + REG_FUNC(0x41BBD792, sceGxmGetPrecomputedDrawSize); + REG_FUNC(0xA197F096, sceGxmPrecomputedDrawInit); + REG_FUNC(0xB6C6F571, sceGxmPrecomputedDrawSetAllVertexStreams); + REG_FUNC(0x884D0D08, sceGxmPrecomputedDrawSetParams); + REG_FUNC(0x3A7B1633, sceGxmPrecomputedDrawSetParamsInstanced); + REG_FUNC(0x6C936214, sceGxmPrecomputedDrawSetVertexStream); + REG_FUNC(0xCECB584A, sceGxmPrecomputedFragmentStateGetDefaultUniformBuffer); + REG_FUNC(0x91236858, sceGxmPrecomputedFragmentStateSetDefaultUniformBuffer); + REG_FUNC(0xE297D7AF, sceGxmPrecomputedFragmentStateInit); + REG_FUNC(0x29118BF1, sceGxmPrecomputedFragmentStateSetTexture); + REG_FUNC(0xB452F1FB, sceGxmPrecomputedFragmentStateSetUniformBuffer); + REG_FUNC(0xC383DE39, sceGxmPrecomputedFragmentStateSetAllTextures); + REG_FUNC(0x5A783DC3, sceGxmPrecomputedFragmentStateSetAllUniformBuffers); + REG_FUNC(0x9D93B63A, sceGxmPrecomputedFragmentStateSetAllAuxiliarySurfaces); + REG_FUNC(0xBE5A68EF, sceGxmPrecomputedVertexStateGetDefaultUniformBuffer); + REG_FUNC(0x34BF64E3, sceGxmPrecomputedVertexStateSetDefaultUniformBuffer); + REG_FUNC(0xBE937F8D, sceGxmPrecomputedVertexStateInit); + REG_FUNC(0x1625D348, sceGxmPrecomputedVertexStateSetTexture); + REG_FUNC(0xDBF97ED6, sceGxmPrecomputedVertexStateSetUniformBuffer); + REG_FUNC(0x8FF68274, sceGxmPrecomputedVertexStateSetAllTextures); + REG_FUNC(0x0389861D, sceGxmPrecomputedVertexStateSetAllUniformBuffers); + REG_FUNC(0x1F856E5D, sceGxmGetRenderTargetMemSizes); + REG_FUNC(0xD56CD7B1, sceGxmCreateRenderTarget); + REG_FUNC(0x0B94C50A, sceGxmDestroyRenderTarget); + REG_FUNC(0xD0EDAB4C, sceGxmRenderTargetGetHostMem); + REG_FUNC(0x49553737, sceGxmRenderTargetGetDriverMemBlock); + REG_FUNC(0xDBA33160, sceGxmBeginScene); + REG_FUNC(0xE84CE5B4, sceGxmCreateContext); + REG_FUNC(0xEDDC5FB2, sceGxmDestroyContext); + REG_FUNC(0xBC059AFC, sceGxmDraw); + REG_FUNC(0x14C4E7D3, sceGxmDrawInstanced); + REG_FUNC(0xED3F78B8, sceGxmDrawPrecomputed); + REG_FUNC(0xFE300E2F, sceGxmEndScene); + REG_FUNC(0x0733D8AE, sceGxmFinish); + REG_FUNC(0x51FE0899, sceGxmMidSceneFlush); + REG_FUNC(0x4FA073A6, sceGxmPopUserMarker); + REG_FUNC(0x3276C475, sceGxmPushUserMarker); + REG_FUNC(0x7B1FABB6, sceGxmReserveFragmentDefaultUniformBuffer); + REG_FUNC(0x97118913, sceGxmReserveVertexDefaultUniformBuffer); + REG_FUNC(0x91B4F7F4, sceGxmSetAuxiliarySurface); + REG_FUNC(0x17B3BF86, sceGxmSetBackDepthBias); + REG_FUNC(0xB042A4D2, sceGxmSetBackDepthFunc); + REG_FUNC(0xC18B706B, sceGxmSetBackDepthWriteEnable); + REG_FUNC(0xE26B4834, sceGxmSetBackFragmentProgramEnable); + REG_FUNC(0xC88EB702, sceGxmSetBackLineFillLastPixelEnable); + REG_FUNC(0x8DCB0EDB, sceGxmSetBackPointLineWidth); + REG_FUNC(0xF66EC6FE, sceGxmSetBackPolygonMode); + REG_FUNC(0x1A68C8D2, sceGxmSetBackStencilFunc); + REG_FUNC(0x866A0517, sceGxmSetBackStencilRef); + REG_FUNC(0xE1CA72AE, sceGxmSetCullMode); + REG_FUNC(0xAD2F48D9, sceGxmSetFragmentProgram); + REG_FUNC(0x29C34DF5, sceGxmSetFragmentTexture); + REG_FUNC(0xEA0FC310, sceGxmSetFragmentUniformBuffer); + REG_FUNC(0xAAA97F81, sceGxmSetFrontDepthBias); + REG_FUNC(0x14BD831F, sceGxmSetFrontDepthFunc); + REG_FUNC(0xF32CBF34, sceGxmSetFrontDepthWriteEnable); + REG_FUNC(0x575958A8, sceGxmSetFrontFragmentProgramEnable); + REG_FUNC(0x5765DE9F, sceGxmSetFrontLineFillLastPixelEnable); + REG_FUNC(0x06752183, sceGxmSetFrontPointLineWidth); + REG_FUNC(0xFD93209D, sceGxmSetFrontPolygonMode); + REG_FUNC(0xB8645A9A, sceGxmSetFrontStencilFunc); + REG_FUNC(0x8FA6FE44, sceGxmSetFrontStencilRef); + REG_FUNC(0xF8952750, sceGxmSetPrecomputedFragmentState); + REG_FUNC(0xB7626A93, sceGxmSetPrecomputedVertexState); + REG_FUNC(0x70C86868, sceGxmSetRegionClip); + REG_FUNC(0x0DE9AEB7, sceGxmSetTwoSidedEnable); + REG_FUNC(0xC7A8CB77, sceGxmSetUserMarker); + REG_FUNC(0x8C6A24C9, sceGxmSetValidationEnable); + REG_FUNC(0x31FF8ABD, sceGxmSetVertexProgram); + REG_FUNC(0x895DF2E9, sceGxmSetVertexStream); + REG_FUNC(0x16C9D339, sceGxmSetVertexTexture); + REG_FUNC(0xC68015E4, sceGxmSetVertexUniformBuffer); + //REG_FUNC(0x3EB3380B, sceGxmSetViewport); + REG_FUNC(0x814F61EB, sceGxmSetViewportEnable); + REG_FUNC(0x7767EC49, sceGxmSetVisibilityBuffer); + REG_FUNC(0xEED86975, sceGxmSetWBufferEnable); + REG_FUNC(0x1BF8B853, sceGxmSetWClampEnable); + //REG_FUNC(0xD096336E, sceGxmSetWClampValue); + REG_FUNC(0x12625C34, sceGxmSetFrontVisibilityTestIndex); + REG_FUNC(0xAE7886FE, sceGxmSetBackVisibilityTestIndex); + REG_FUNC(0xD0E3CD9A, sceGxmSetFrontVisibilityTestOp); + REG_FUNC(0xC83F0AB3, sceGxmSetBackVisibilityTestOp); + REG_FUNC(0x30459117, sceGxmSetFrontVisibilityTestEnable); + REG_FUNC(0x17CF46B9, sceGxmSetBackVisibilityTestEnable); + REG_FUNC(0xED8B6C69, sceGxmProgramCheck); + REG_FUNC(0x277794C4, sceGxmProgramFindParameterByName); + REG_FUNC(0x7FFFDD7A, sceGxmProgramFindParameterBySemantic); + REG_FUNC(0x06FF9151, sceGxmProgramGetParameter); + REG_FUNC(0xD5D5FCCD, sceGxmProgramGetParameterCount); + REG_FUNC(0xBF5E2090, sceGxmProgramGetSize); + REG_FUNC(0x04BB3C59, sceGxmProgramGetType); + REG_FUNC(0x89613EF2, sceGxmProgramIsDepthReplaceUsed); + REG_FUNC(0x029B4F1C, sceGxmProgramIsDiscardUsed); + REG_FUNC(0x8FA3F9C3, sceGxmProgramGetDefaultUniformBufferSize); + REG_FUNC(0xDBA8D061, sceGxmProgramParameterGetArraySize); + REG_FUNC(0x1997DC17, sceGxmProgramParameterGetCategory); + REG_FUNC(0xBD2998D1, sceGxmProgramParameterGetComponentCount); + REG_FUNC(0xBB58267D, sceGxmProgramParameterGetContainerIndex); + REG_FUNC(0x6E61DDF5, sceGxmProgramParameterGetIndex); + REG_FUNC(0x6AF88A5D, sceGxmProgramParameterGetName); + REG_FUNC(0x5C79D59A, sceGxmProgramParameterGetResourceIndex); + REG_FUNC(0xAAFD61D5, sceGxmProgramParameterGetSemantic); + REG_FUNC(0xB85CC13E, sceGxmProgramParameterGetSemanticIndex); + REG_FUNC(0x7B9023C3, sceGxmProgramParameterGetType); + REG_FUNC(0xF7AA978B, sceGxmProgramParameterIsSamplerCube); + REG_FUNC(0x4CD2D19F, sceGxmShaderPatcherAddRefFragmentProgram); + REG_FUNC(0x0FD1E589, sceGxmShaderPatcherAddRefVertexProgram); + REG_FUNC(0x05032658, sceGxmShaderPatcherCreate); + REG_FUNC(0x4ED2E49D, sceGxmShaderPatcherCreateFragmentProgram); + REG_FUNC(0xB7BBA6D5, sceGxmShaderPatcherCreateVertexProgram); + REG_FUNC(0xEAA5B100, sceGxmShaderPatcherDestroy); + REG_FUNC(0xA949A803, sceGxmShaderPatcherGetProgramFromId); + REG_FUNC(0x2B528462, sceGxmShaderPatcherRegisterProgram); + REG_FUNC(0xBE2743D1, sceGxmShaderPatcherReleaseFragmentProgram); + REG_FUNC(0xAC1FF2DA, sceGxmShaderPatcherReleaseVertexProgram); + REG_FUNC(0x8E5FCC2A, sceGxmShaderPatcherSetAuxiliarySurface); + REG_FUNC(0xF103AF8A, sceGxmShaderPatcherUnregisterProgram); + REG_FUNC(0x9DBBC71C, sceGxmShaderPatcherGetHostMemAllocated); + REG_FUNC(0xC694D039, sceGxmShaderPatcherGetBufferMemAllocated); + REG_FUNC(0x7D2F83C1, sceGxmShaderPatcherGetVertexUsseMemAllocated); + REG_FUNC(0x3C9DDB4A, sceGxmShaderPatcherGetFragmentUsseMemAllocated); + REG_FUNC(0x96A7E6DD, sceGxmShaderPatcherGetUserData); + REG_FUNC(0xF9B8FCFD, sceGxmShaderPatcherSetUserData); + REG_FUNC(0x65DD0C84, sceGxmSetUniformDataF); +}); \ No newline at end of file diff --git a/rpcs3/Emu/ARMv7/Modules/sceGxm.h b/rpcs3/Emu/ARMv7/Modules/sceGxm.h new file mode 100644 index 0000000000..28cdac4daf --- /dev/null +++ b/rpcs3/Emu/ARMv7/Modules/sceGxm.h @@ -0,0 +1,1244 @@ +#pragma once + +// Error Codes + +enum +{ + SCE_GXM_ERROR_UNINITIALIZED = 0x805B0000, + SCE_GXM_ERROR_ALREADY_INITIALIZED = 0x805B0001, + SCE_GXM_ERROR_OUT_OF_MEMORY = 0x805B0002, + SCE_GXM_ERROR_INVALID_VALUE = 0x805B0003, + SCE_GXM_ERROR_INVALID_POINTER = 0x805B0004, + SCE_GXM_ERROR_INVALID_ALIGNMENT = 0x805B0005, + SCE_GXM_ERROR_NOT_WITHIN_SCENE = 0x805B0006, + SCE_GXM_ERROR_WITHIN_SCENE = 0x805B0007, + SCE_GXM_ERROR_NULL_PROGRAM = 0x805B0008, + SCE_GXM_ERROR_UNSUPPORTED = 0x805B0009, + SCE_GXM_ERROR_PATCHER_INTERNAL = 0x805B000A, + SCE_GXM_ERROR_RESERVE_FAILED = 0x805B000B, + SCE_GXM_ERROR_PROGRAM_IN_USE = 0x805B000C, + SCE_GXM_ERROR_INVALID_INDEX_COUNT = 0x805B000D, + SCE_GXM_ERROR_INVALID_POLYGON_MODE = 0x805B000E, + SCE_GXM_ERROR_INVALID_SAMPLER_RESULT_TYPE_PRECISION = 0x805B000F, + SCE_GXM_ERROR_INVALID_SAMPLER_RESULT_TYPE_COMPONENT_COUNT = 0x805B0010, + SCE_GXM_ERROR_UNIFORM_BUFFER_NOT_RESERVED = 0x805B0011, + SCE_GXM_ERROR_INVALID_AUXILIARY_SURFACE = 0x805B0013, + SCE_GXM_ERROR_INVALID_PRECOMPUTED_DRAW = 0x805B0014, + SCE_GXM_ERROR_INVALID_PRECOMPUTED_VERTEX_STATE = 0x805B0015, + SCE_GXM_ERROR_INVALID_PRECOMPUTED_FRAGMENT_STATE = 0x805B0016, + SCE_GXM_ERROR_DRIVER = 0x805B0017, +}; + +typedef void(SceGxmDisplayQueueCallback)(vm::psv::ptr callbackData); + +struct SceGxmInitializeParams +{ + u32 flags; + u32 displayQueueMaxPendingCount; + vm::psv::ptr displayQueueCallback; + u32 displayQueueCallbackDataSize; + s32 parameterBufferSize; +}; + +enum SceGxmMemoryAttribFlags : u32 +{ + SCE_GXM_MEMORY_ATTRIB_READ = 1, + SCE_GXM_MEMORY_ATTRIB_WRITE = 2, +}; + +enum SceGxmAttributeFormat : u8 +{ + SCE_GXM_ATTRIBUTE_FORMAT_U8, + SCE_GXM_ATTRIBUTE_FORMAT_S8, + SCE_GXM_ATTRIBUTE_FORMAT_U16, + SCE_GXM_ATTRIBUTE_FORMAT_S16, + SCE_GXM_ATTRIBUTE_FORMAT_U8N, + SCE_GXM_ATTRIBUTE_FORMAT_S8N, + SCE_GXM_ATTRIBUTE_FORMAT_U16N, + SCE_GXM_ATTRIBUTE_FORMAT_S16N, + SCE_GXM_ATTRIBUTE_FORMAT_F16, + SCE_GXM_ATTRIBUTE_FORMAT_F32 +}; + +enum SceGxmDepthStencilFormat : u32 +{ + SCE_GXM_DEPTH_STENCIL_FORMAT_DF32 = 0x00044000u, + SCE_GXM_DEPTH_STENCIL_FORMAT_S8 = 0x00022000u, + SCE_GXM_DEPTH_STENCIL_FORMAT_DF32_S8 = 0x00066000u, + SCE_GXM_DEPTH_STENCIL_FORMAT_S8D24 = 0x01266000u, + SCE_GXM_DEPTH_STENCIL_FORMAT_D16 = 0x02444000u +}; + +enum SceGxmPrimitiveType : u32 +{ + SCE_GXM_PRIMITIVE_TRIANGLES = 0x00000000u, + SCE_GXM_PRIMITIVE_LINES = 0x04000000u, + SCE_GXM_PRIMITIVE_POINTS = 0x08000000u, + SCE_GXM_PRIMITIVE_TRIANGLE_STRIP = 0x0c000000u, + SCE_GXM_PRIMITIVE_TRIANGLE_FAN = 0x10000000u, + SCE_GXM_PRIMITIVE_TRIANGLE_EDGES = 0x14000000u +}; + +enum SceGxmEdgeEnableFlags : u32 +{ + SCE_GXM_EDGE_ENABLE_01 = 0x00000100u, + SCE_GXM_EDGE_ENABLE_12 = 0x00000200u, + SCE_GXM_EDGE_ENABLE_20 = 0x00000400u +}; + +enum SceGxmRegionClipMode : u32 +{ + SCE_GXM_REGION_CLIP_NONE = 0x00000000u, + SCE_GXM_REGION_CLIP_ALL = 0x40000000u, + SCE_GXM_REGION_CLIP_OUTSIDE = 0x80000000u, + SCE_GXM_REGION_CLIP_INSIDE = 0xc0000000u +}; + +enum SceGxmDepthFunc : u32 +{ + SCE_GXM_DEPTH_FUNC_NEVER = 0x00000000u, + SCE_GXM_DEPTH_FUNC_LESS = 0x00400000u, + SCE_GXM_DEPTH_FUNC_EQUAL = 0x00800000u, + SCE_GXM_DEPTH_FUNC_LESS_EQUAL = 0x00c00000u, + SCE_GXM_DEPTH_FUNC_GREATER = 0x01000000u, + SCE_GXM_DEPTH_FUNC_NOT_EQUAL = 0x01400000u, + SCE_GXM_DEPTH_FUNC_GREATER_EQUAL = 0x01800000u, + SCE_GXM_DEPTH_FUNC_ALWAYS = 0x01c00000u +}; + +enum SceGxmStencilFunc : u32 +{ + SCE_GXM_STENCIL_FUNC_NEVER = 0x00000000u, + SCE_GXM_STENCIL_FUNC_LESS = 0x02000000u, + SCE_GXM_STENCIL_FUNC_EQUAL = 0x04000000u, + SCE_GXM_STENCIL_FUNC_LESS_EQUAL = 0x06000000u, + SCE_GXM_STENCIL_FUNC_GREATER = 0x08000000u, + SCE_GXM_STENCIL_FUNC_NOT_EQUAL = 0x0a000000u, + SCE_GXM_STENCIL_FUNC_GREATER_EQUAL = 0x0c000000u, + SCE_GXM_STENCIL_FUNC_ALWAYS = 0x0e000000u +}; + +enum SceGxmStencilOp : u32 +{ + SCE_GXM_STENCIL_OP_KEEP = 0x00000000u, + SCE_GXM_STENCIL_OP_ZERO = 0x00000001u, + SCE_GXM_STENCIL_OP_REPLACE = 0x00000002u, + SCE_GXM_STENCIL_OP_INCR = 0x00000003u, + SCE_GXM_STENCIL_OP_DECR = 0x00000004u, + SCE_GXM_STENCIL_OP_INVERT = 0x00000005u, + SCE_GXM_STENCIL_OP_INCR_WRAP = 0x00000006u, + SCE_GXM_STENCIL_OP_DECR_WRAP = 0x00000007u +}; + +enum SceGxmCullMode : u32 +{ + SCE_GXM_CULL_NONE = 0x00000000u, + SCE_GXM_CULL_CW = 0x00000001u, + SCE_GXM_CULL_CCW = 0x00000002u +}; + +enum SceGxmPolygonMode : u32 +{ + SCE_GXM_POLYGON_MODE_TRIANGLE_FILL = 0x00000000u, + SCE_GXM_POLYGON_MODE_LINE = 0x00008000u, + SCE_GXM_POLYGON_MODE_POINT_10UV = 0x00010000u, + SCE_GXM_POLYGON_MODE_POINT = 0x00018000u, + SCE_GXM_POLYGON_MODE_POINT_01UV = 0x00020000u, + SCE_GXM_POLYGON_MODE_TRIANGLE_LINE = 0x00028000u, + SCE_GXM_POLYGON_MODE_TRIANGLE_POINT = 0x00030000u +}; + +enum SceGxmColorSwizzle4Mode : u32 +{ + SCE_GXM_COLOR_SWIZZLE4_ABGR = 0x00000000u, + SCE_GXM_COLOR_SWIZZLE4_ARGB = 0x00100000u, + SCE_GXM_COLOR_SWIZZLE4_RGBA = 0x00200000u, + SCE_GXM_COLOR_SWIZZLE4_BGRA = 0x00300000u +}; + +enum SceGxmColorSwizzle3Mode : u32 +{ + SCE_GXM_COLOR_SWIZZLE3_BGR = 0x00000000u, + SCE_GXM_COLOR_SWIZZLE3_RGB = 0x00100000u +}; + +enum SceGxmColorSwizzle2Mode : u32 +{ + SCE_GXM_COLOR_SWIZZLE2_GR = 0x00000000u, + SCE_GXM_COLOR_SWIZZLE2_RG = 0x00100000u, + SCE_GXM_COLOR_SWIZZLE2_RA = 0x00200000u, + SCE_GXM_COLOR_SWIZZLE2_AR = 0x00300000u +}; + +enum SceGxmColorSwizzle1Mode : u32 +{ + SCE_GXM_COLOR_SWIZZLE1_R = 0x00000000u, + SCE_GXM_COLOR_SWIZZLE1_G = 0x00100000u, + SCE_GXM_COLOR_SWIZZLE1_A = 0x00100000u +}; + +enum SceGxmColorBaseFormat : u32 +{ + SCE_GXM_COLOR_BASE_FORMAT_U8U8U8U8 = 0x00000000u, + SCE_GXM_COLOR_BASE_FORMAT_U8U8U8 = 0x10000000u, + SCE_GXM_COLOR_BASE_FORMAT_U5U6U5 = 0x30000000u, + SCE_GXM_COLOR_BASE_FORMAT_U1U5U5U5 = 0x40000000u, + SCE_GXM_COLOR_BASE_FORMAT_U4U4U4U4 = 0x50000000u, + SCE_GXM_COLOR_BASE_FORMAT_U8U3U3U2 = 0x60000000u, + SCE_GXM_COLOR_BASE_FORMAT_F16 = 0xf0000000u, + SCE_GXM_COLOR_BASE_FORMAT_F16F16 = 0x00800000u, + SCE_GXM_COLOR_BASE_FORMAT_F32 = 0x10800000u, + SCE_GXM_COLOR_BASE_FORMAT_S16 = 0x20800000u, + SCE_GXM_COLOR_BASE_FORMAT_S16S16 = 0x30800000u, + SCE_GXM_COLOR_BASE_FORMAT_U16 = 0x40800000u, + SCE_GXM_COLOR_BASE_FORMAT_U16U16 = 0x50800000u, + SCE_GXM_COLOR_BASE_FORMAT_U2U10U10U10 = 0x60800000u, + SCE_GXM_COLOR_BASE_FORMAT_U8 = 0x80800000u, + SCE_GXM_COLOR_BASE_FORMAT_S8 = 0x90800000u, + SCE_GXM_COLOR_BASE_FORMAT_S5S5U6 = 0xa0800000u, + SCE_GXM_COLOR_BASE_FORMAT_U8U8 = 0xb0800000u, + SCE_GXM_COLOR_BASE_FORMAT_S8S8 = 0xc0800000u, + SCE_GXM_COLOR_BASE_FORMAT_U8S8S8U8 = 0xd0800000u, + SCE_GXM_COLOR_BASE_FORMAT_S8S8S8S8 = 0xe0800000u, + SCE_GXM_COLOR_BASE_FORMAT_F16F16F16F16 = 0x01000000u, + SCE_GXM_COLOR_BASE_FORMAT_F32F32 = 0x11000000u, + SCE_GXM_COLOR_BASE_FORMAT_F11F11F10 = 0x21000000u, + SCE_GXM_COLOR_BASE_FORMAT_SE5M9M9M9 = 0x31000000u, + SCE_GXM_COLOR_BASE_FORMAT_U2F10F10F10 = 0x41000000u +}; + +enum SceGxmColorFormat : u32 +{ + // Supported formats + + SCE_GXM_COLOR_FORMAT_U8U8U8U8_ABGR = SCE_GXM_COLOR_BASE_FORMAT_U8U8U8U8 | SCE_GXM_COLOR_SWIZZLE4_ABGR, + SCE_GXM_COLOR_FORMAT_U8U8U8U8_ARGB = SCE_GXM_COLOR_BASE_FORMAT_U8U8U8U8 | SCE_GXM_COLOR_SWIZZLE4_ARGB, + SCE_GXM_COLOR_FORMAT_U8U8U8U8_RGBA = SCE_GXM_COLOR_BASE_FORMAT_U8U8U8U8 | SCE_GXM_COLOR_SWIZZLE4_RGBA, + SCE_GXM_COLOR_FORMAT_U8U8U8U8_BGRA = SCE_GXM_COLOR_BASE_FORMAT_U8U8U8U8 | SCE_GXM_COLOR_SWIZZLE4_BGRA, + + SCE_GXM_COLOR_FORMAT_U8U8U8_BGR = SCE_GXM_COLOR_BASE_FORMAT_U8U8U8 | SCE_GXM_COLOR_SWIZZLE3_BGR, + SCE_GXM_COLOR_FORMAT_U8U8U8_RGB = SCE_GXM_COLOR_BASE_FORMAT_U8U8U8 | SCE_GXM_COLOR_SWIZZLE3_RGB, + + SCE_GXM_COLOR_FORMAT_U5U6U5_BGR = SCE_GXM_COLOR_BASE_FORMAT_U5U6U5 | SCE_GXM_COLOR_SWIZZLE3_BGR, + SCE_GXM_COLOR_FORMAT_U5U6U5_RGB = SCE_GXM_COLOR_BASE_FORMAT_U5U6U5 | SCE_GXM_COLOR_SWIZZLE3_RGB, + + SCE_GXM_COLOR_FORMAT_U1U5U5U5_ABGR = SCE_GXM_COLOR_BASE_FORMAT_U1U5U5U5 | SCE_GXM_COLOR_SWIZZLE4_ABGR, + SCE_GXM_COLOR_FORMAT_U1U5U5U5_ARGB = SCE_GXM_COLOR_BASE_FORMAT_U1U5U5U5 | SCE_GXM_COLOR_SWIZZLE4_ARGB, + SCE_GXM_COLOR_FORMAT_U5U5U5U1_RGBA = SCE_GXM_COLOR_BASE_FORMAT_U1U5U5U5 | SCE_GXM_COLOR_SWIZZLE4_RGBA, + SCE_GXM_COLOR_FORMAT_U5U5U5U1_BGRA = SCE_GXM_COLOR_BASE_FORMAT_U1U5U5U5 | SCE_GXM_COLOR_SWIZZLE4_BGRA, + + SCE_GXM_COLOR_FORMAT_U4U4U4U4_ABGR = SCE_GXM_COLOR_BASE_FORMAT_U4U4U4U4 | SCE_GXM_COLOR_SWIZZLE4_ABGR, + SCE_GXM_COLOR_FORMAT_U4U4U4U4_ARGB = SCE_GXM_COLOR_BASE_FORMAT_U4U4U4U4 | SCE_GXM_COLOR_SWIZZLE4_ARGB, + SCE_GXM_COLOR_FORMAT_U4U4U4U4_RGBA = SCE_GXM_COLOR_BASE_FORMAT_U4U4U4U4 | SCE_GXM_COLOR_SWIZZLE4_RGBA, + SCE_GXM_COLOR_FORMAT_U4U4U4U4_BGRA = SCE_GXM_COLOR_BASE_FORMAT_U4U4U4U4 | SCE_GXM_COLOR_SWIZZLE4_BGRA, + + SCE_GXM_COLOR_FORMAT_U8U3U3U2_ARGB = SCE_GXM_COLOR_BASE_FORMAT_U8U3U3U2, + + SCE_GXM_COLOR_FORMAT_F16_R = SCE_GXM_COLOR_BASE_FORMAT_F16 | SCE_GXM_COLOR_SWIZZLE1_R, + SCE_GXM_COLOR_FORMAT_F16_G = SCE_GXM_COLOR_BASE_FORMAT_F16 | SCE_GXM_COLOR_SWIZZLE1_G, + + SCE_GXM_COLOR_FORMAT_F16F16_GR = SCE_GXM_COLOR_BASE_FORMAT_F16F16 | SCE_GXM_COLOR_SWIZZLE2_GR, + SCE_GXM_COLOR_FORMAT_F16F16_RG = SCE_GXM_COLOR_BASE_FORMAT_F16F16 | SCE_GXM_COLOR_SWIZZLE2_RG, + + SCE_GXM_COLOR_FORMAT_F32_R = SCE_GXM_COLOR_BASE_FORMAT_F32 | SCE_GXM_COLOR_SWIZZLE1_R, + + SCE_GXM_COLOR_FORMAT_S16_R = SCE_GXM_COLOR_BASE_FORMAT_S16 | SCE_GXM_COLOR_SWIZZLE1_R, + SCE_GXM_COLOR_FORMAT_S16_G = SCE_GXM_COLOR_BASE_FORMAT_S16 | SCE_GXM_COLOR_SWIZZLE1_G, + + SCE_GXM_COLOR_FORMAT_S16S16_GR = SCE_GXM_COLOR_BASE_FORMAT_S16S16 | SCE_GXM_COLOR_SWIZZLE2_GR, + SCE_GXM_COLOR_FORMAT_S16S16_RG = SCE_GXM_COLOR_BASE_FORMAT_S16S16 | SCE_GXM_COLOR_SWIZZLE2_RG, + + SCE_GXM_COLOR_FORMAT_U16_R = SCE_GXM_COLOR_BASE_FORMAT_U16 | SCE_GXM_COLOR_SWIZZLE1_R, + SCE_GXM_COLOR_FORMAT_U16_G = SCE_GXM_COLOR_BASE_FORMAT_U16 | SCE_GXM_COLOR_SWIZZLE1_G, + + SCE_GXM_COLOR_FORMAT_U16U16_GR = SCE_GXM_COLOR_BASE_FORMAT_U16U16 | SCE_GXM_COLOR_SWIZZLE2_GR, + SCE_GXM_COLOR_FORMAT_U16U16_RG = SCE_GXM_COLOR_BASE_FORMAT_U16U16 | SCE_GXM_COLOR_SWIZZLE2_RG, + + SCE_GXM_COLOR_FORMAT_U2U10U10U10_ABGR = SCE_GXM_COLOR_BASE_FORMAT_U2U10U10U10 | SCE_GXM_COLOR_SWIZZLE4_ABGR, + SCE_GXM_COLOR_FORMAT_U2U10U10U10_ARGB = SCE_GXM_COLOR_BASE_FORMAT_U2U10U10U10 | SCE_GXM_COLOR_SWIZZLE4_ARGB, + SCE_GXM_COLOR_FORMAT_U10U10U10U2_RGBA = SCE_GXM_COLOR_BASE_FORMAT_U2U10U10U10 | SCE_GXM_COLOR_SWIZZLE4_RGBA, + SCE_GXM_COLOR_FORMAT_U10U10U10U2_BGRA = SCE_GXM_COLOR_BASE_FORMAT_U2U10U10U10 | SCE_GXM_COLOR_SWIZZLE4_BGRA, + + SCE_GXM_COLOR_FORMAT_U8_R = SCE_GXM_COLOR_BASE_FORMAT_U8 | SCE_GXM_COLOR_SWIZZLE1_R, + SCE_GXM_COLOR_FORMAT_U8_A = SCE_GXM_COLOR_BASE_FORMAT_U8 | SCE_GXM_COLOR_SWIZZLE1_A, + + SCE_GXM_COLOR_FORMAT_S8_R = SCE_GXM_COLOR_BASE_FORMAT_S8 | SCE_GXM_COLOR_SWIZZLE1_R, + SCE_GXM_COLOR_FORMAT_S8_A = SCE_GXM_COLOR_BASE_FORMAT_S8 | SCE_GXM_COLOR_SWIZZLE1_A, + + SCE_GXM_COLOR_FORMAT_U6S5S5_BGR = SCE_GXM_COLOR_BASE_FORMAT_S5S5U6 | SCE_GXM_COLOR_SWIZZLE3_BGR, + SCE_GXM_COLOR_FORMAT_S5S5U6_RGB = SCE_GXM_COLOR_BASE_FORMAT_S5S5U6 | SCE_GXM_COLOR_SWIZZLE3_RGB, + + SCE_GXM_COLOR_FORMAT_U8U8_GR = SCE_GXM_COLOR_BASE_FORMAT_U8U8 | SCE_GXM_COLOR_SWIZZLE2_GR, + SCE_GXM_COLOR_FORMAT_U8U8_RG = SCE_GXM_COLOR_BASE_FORMAT_U8U8 | SCE_GXM_COLOR_SWIZZLE2_RG, + SCE_GXM_COLOR_FORMAT_U8U8_RA = SCE_GXM_COLOR_BASE_FORMAT_U8U8 | SCE_GXM_COLOR_SWIZZLE2_RA, + SCE_GXM_COLOR_FORMAT_U8U8_AR = SCE_GXM_COLOR_BASE_FORMAT_U8U8 | SCE_GXM_COLOR_SWIZZLE2_AR, + + SCE_GXM_COLOR_FORMAT_S8S8_GR = SCE_GXM_COLOR_BASE_FORMAT_S8S8 | SCE_GXM_COLOR_SWIZZLE2_GR, + SCE_GXM_COLOR_FORMAT_S8S8_RG = SCE_GXM_COLOR_BASE_FORMAT_S8S8 | SCE_GXM_COLOR_SWIZZLE2_RG, + SCE_GXM_COLOR_FORMAT_S8S8_RA = SCE_GXM_COLOR_BASE_FORMAT_S8S8 | SCE_GXM_COLOR_SWIZZLE2_RA, + SCE_GXM_COLOR_FORMAT_S8S8_AR = SCE_GXM_COLOR_BASE_FORMAT_S8S8 | SCE_GXM_COLOR_SWIZZLE2_AR, + + SCE_GXM_COLOR_FORMAT_U8S8S8U8_ABGR = SCE_GXM_COLOR_BASE_FORMAT_U8S8S8U8 | SCE_GXM_COLOR_SWIZZLE4_ABGR, + SCE_GXM_COLOR_FORMAT_U8U8S8S8_ARGB = SCE_GXM_COLOR_BASE_FORMAT_U8S8S8U8 | SCE_GXM_COLOR_SWIZZLE4_ARGB, + SCE_GXM_COLOR_FORMAT_U8S8S8U8_RGBA = SCE_GXM_COLOR_BASE_FORMAT_U8S8S8U8 | SCE_GXM_COLOR_SWIZZLE4_RGBA, + SCE_GXM_COLOR_FORMAT_S8S8U8U8_BGRA = SCE_GXM_COLOR_BASE_FORMAT_U8S8S8U8 | SCE_GXM_COLOR_SWIZZLE4_BGRA, + + SCE_GXM_COLOR_FORMAT_S8S8S8S8_ABGR = SCE_GXM_COLOR_BASE_FORMAT_S8S8S8S8 | SCE_GXM_COLOR_SWIZZLE4_ABGR, + SCE_GXM_COLOR_FORMAT_S8S8S8S8_ARGB = SCE_GXM_COLOR_BASE_FORMAT_S8S8S8S8 | SCE_GXM_COLOR_SWIZZLE4_ARGB, + SCE_GXM_COLOR_FORMAT_S8S8S8S8_RGBA = SCE_GXM_COLOR_BASE_FORMAT_S8S8S8S8 | SCE_GXM_COLOR_SWIZZLE4_RGBA, + SCE_GXM_COLOR_FORMAT_S8S8S8S8_BGRA = SCE_GXM_COLOR_BASE_FORMAT_S8S8S8S8 | SCE_GXM_COLOR_SWIZZLE4_BGRA, + + SCE_GXM_COLOR_FORMAT_F16F16F16F16_ABGR = SCE_GXM_COLOR_BASE_FORMAT_F16F16F16F16 | SCE_GXM_COLOR_SWIZZLE4_ABGR, + SCE_GXM_COLOR_FORMAT_F16F16F16F16_ARGB = SCE_GXM_COLOR_BASE_FORMAT_F16F16F16F16 | SCE_GXM_COLOR_SWIZZLE4_ARGB, + SCE_GXM_COLOR_FORMAT_F16F16F16F16_RGBA = SCE_GXM_COLOR_BASE_FORMAT_F16F16F16F16 | SCE_GXM_COLOR_SWIZZLE4_RGBA, + SCE_GXM_COLOR_FORMAT_F16F16F16F16_BGRA = SCE_GXM_COLOR_BASE_FORMAT_F16F16F16F16 | SCE_GXM_COLOR_SWIZZLE4_BGRA, + + SCE_GXM_COLOR_FORMAT_F32F32_GR = SCE_GXM_COLOR_BASE_FORMAT_F32F32 | SCE_GXM_COLOR_SWIZZLE2_GR, + SCE_GXM_COLOR_FORMAT_F32F32_RG = SCE_GXM_COLOR_BASE_FORMAT_F32F32 | SCE_GXM_COLOR_SWIZZLE2_RG, + + SCE_GXM_COLOR_FORMAT_F10F11F11_BGR = SCE_GXM_COLOR_BASE_FORMAT_F11F11F10 | SCE_GXM_COLOR_SWIZZLE3_BGR, + SCE_GXM_COLOR_FORMAT_F11F11F10_RGB = SCE_GXM_COLOR_BASE_FORMAT_F11F11F10 | SCE_GXM_COLOR_SWIZZLE3_RGB, + + SCE_GXM_COLOR_FORMAT_SE5M9M9M9_BGR = SCE_GXM_COLOR_BASE_FORMAT_SE5M9M9M9 | SCE_GXM_COLOR_SWIZZLE3_BGR, + SCE_GXM_COLOR_FORMAT_SE5M9M9M9_RGB = SCE_GXM_COLOR_BASE_FORMAT_SE5M9M9M9 | SCE_GXM_COLOR_SWIZZLE3_RGB, + + SCE_GXM_COLOR_FORMAT_U2F10F10F10_ABGR = SCE_GXM_COLOR_BASE_FORMAT_U2F10F10F10 | SCE_GXM_COLOR_SWIZZLE4_ABGR, + SCE_GXM_COLOR_FORMAT_U2F10F10F10_ARGB = SCE_GXM_COLOR_BASE_FORMAT_U2F10F10F10 | SCE_GXM_COLOR_SWIZZLE4_ARGB, + SCE_GXM_COLOR_FORMAT_F10F10F10U2_RGBA = SCE_GXM_COLOR_BASE_FORMAT_U2F10F10F10 | SCE_GXM_COLOR_SWIZZLE4_RGBA, + SCE_GXM_COLOR_FORMAT_F10F10F10U2_BGRA = SCE_GXM_COLOR_BASE_FORMAT_U2F10F10F10 | SCE_GXM_COLOR_SWIZZLE4_BGRA, + + // Legacy formats + + SCE_GXM_COLOR_FORMAT_A8B8G8R8 = SCE_GXM_COLOR_FORMAT_U8U8U8U8_ABGR, + SCE_GXM_COLOR_FORMAT_A8R8G8B8 = SCE_GXM_COLOR_FORMAT_U8U8U8U8_ARGB, + SCE_GXM_COLOR_FORMAT_R5G6B5 = SCE_GXM_COLOR_FORMAT_U5U6U5_RGB, + SCE_GXM_COLOR_FORMAT_A1R5G5B5 = SCE_GXM_COLOR_FORMAT_U1U5U5U5_ARGB, + SCE_GXM_COLOR_FORMAT_A4R4G4B4 = SCE_GXM_COLOR_FORMAT_U4U4U4U4_ARGB, + SCE_GXM_COLOR_FORMAT_A8 = SCE_GXM_COLOR_FORMAT_U8_A +}; + +enum SceGxmColorSurfaceType : u32 +{ + SCE_GXM_COLOR_SURFACE_LINEAR = 0x00000000u, + SCE_GXM_COLOR_SURFACE_TILED = 0x04000000u, + SCE_GXM_COLOR_SURFACE_SWIZZLED = 0x08000000u +}; + +enum SceGxmColorSurfaceGammaMode : u32 +{ + SCE_GXM_COLOR_SURFACE_GAMMA_NONE = 0x00000000u, + SCE_GXM_COLOR_SURFACE_GAMMA_R = 0x00001000u, + SCE_GXM_COLOR_SURFACE_GAMMA_GR = 0x00003000u, + SCE_GXM_COLOR_SURFACE_GAMMA_BGR = 0x00001000u +}; + +enum SceGxmColorSurfaceDitherMode : u32 +{ + SCE_GXM_COLOR_SURFACE_DITHER_DISABLED = 0x00000000u, + SCE_GXM_COLOR_SURFACE_DITHER_ENABLED = 0x00000008u +}; + +enum SceGxmDepthStencilSurfaceType : u32 +{ + SCE_GXM_DEPTH_STENCIL_SURFACE_LINEAR = 0x00000000u, + SCE_GXM_DEPTH_STENCIL_SURFACE_TILED = 0x00011000u +}; + +enum SceGxmOutputRegisterFormat : s32 +{ + SCE_GXM_OUTPUT_REGISTER_FORMAT_DECLARED, + SCE_GXM_OUTPUT_REGISTER_FORMAT_UCHAR4, + SCE_GXM_OUTPUT_REGISTER_FORMAT_CHAR4, + SCE_GXM_OUTPUT_REGISTER_FORMAT_USHORT2, + SCE_GXM_OUTPUT_REGISTER_FORMAT_SHORT2, + SCE_GXM_OUTPUT_REGISTER_FORMAT_HALF4, + SCE_GXM_OUTPUT_REGISTER_FORMAT_HALF2, + SCE_GXM_OUTPUT_REGISTER_FORMAT_FLOAT2, + SCE_GXM_OUTPUT_REGISTER_FORMAT_FLOAT +}; + +enum SceGxmMultisampleMode : u16 +{ + SCE_GXM_MULTISAMPLE_NONE, + SCE_GXM_MULTISAMPLE_2X, + SCE_GXM_MULTISAMPLE_4X +}; + +enum SceGxmTextureSwizzle4Mode : u32 +{ + SCE_GXM_TEXTURE_SWIZZLE4_ABGR = 0x00000000u, + SCE_GXM_TEXTURE_SWIZZLE4_ARGB = 0x00001000u, + SCE_GXM_TEXTURE_SWIZZLE4_RGBA = 0x00002000u, + SCE_GXM_TEXTURE_SWIZZLE4_BGRA = 0x00003000u, + SCE_GXM_TEXTURE_SWIZZLE4_1BGR = 0x00004000u, + SCE_GXM_TEXTURE_SWIZZLE4_1RGB = 0x00005000u, + SCE_GXM_TEXTURE_SWIZZLE4_RGB1 = 0x00006000u, + SCE_GXM_TEXTURE_SWIZZLE4_BGR1 = 0x00007000u +}; + +enum SceGxmTextureSwizzle3Mode : u32 +{ + SCE_GXM_TEXTURE_SWIZZLE3_BGR = 0x00000000u, + SCE_GXM_TEXTURE_SWIZZLE3_RGB = 0x00001000u +}; + +enum SceGxmTextureSwizzle2Mode : u32 +{ + SCE_GXM_TEXTURE_SWIZZLE2_GR = 0x00000000u, + SCE_GXM_TEXTURE_SWIZZLE2_00GR = 0x00001000u, + SCE_GXM_TEXTURE_SWIZZLE2_GRRR = 0x00002000u, + SCE_GXM_TEXTURE_SWIZZLE2_RGGG = 0x00003000u, + SCE_GXM_TEXTURE_SWIZZLE2_GRGR = 0x00004000u, + SCE_GXM_TEXTURE_SWIZZLE2_00RG = 0x00005000u +}; + +enum SceGxmTextureSwizzle2ModeAlt : u32 +{ + SCE_GXM_TEXTURE_SWIZZLE2_SD = 0x00000000u, + SCE_GXM_TEXTURE_SWIZZLE2_DS = 0x00001000u +}; + +enum SceGxmTextureSwizzle1Mode : u32 +{ + SCE_GXM_TEXTURE_SWIZZLE1_R = 0x00000000u, + SCE_GXM_TEXTURE_SWIZZLE1_000R = 0x00001000u, + SCE_GXM_TEXTURE_SWIZZLE1_111R = 0x00002000u, + SCE_GXM_TEXTURE_SWIZZLE1_RRRR = 0x00003000u, + SCE_GXM_TEXTURE_SWIZZLE1_0RRR = 0x00004000u, + SCE_GXM_TEXTURE_SWIZZLE1_1RRR = 0x00005000u, + SCE_GXM_TEXTURE_SWIZZLE1_R000 = 0x00006000u, + SCE_GXM_TEXTURE_SWIZZLE1_R111 = 0x00007000u +}; + +enum SceGxmTextureSwizzleYUV422Mode : u32 +{ + SCE_GXM_TEXTURE_SWIZZLE_YUYV_CSC0 = 0x00000000u, + SCE_GXM_TEXTURE_SWIZZLE_YVYU_CSC0 = 0x00001000u, + SCE_GXM_TEXTURE_SWIZZLE_UYVY_CSC0 = 0x00002000u, + SCE_GXM_TEXTURE_SWIZZLE_VYUY_CSC0 = 0x00003000u, + SCE_GXM_TEXTURE_SWIZZLE_YUYV_CSC1 = 0x00004000u, + SCE_GXM_TEXTURE_SWIZZLE_YVYU_CSC1 = 0x00005000u, + SCE_GXM_TEXTURE_SWIZZLE_UYVY_CSC1 = 0x00006000u, + SCE_GXM_TEXTURE_SWIZZLE_VYUY_CSC1 = 0x00007000u +}; + +enum SceGxmTextureSwizzleYUV420Mode : u32 +{ + SCE_GXM_TEXTURE_SWIZZLE_YUV_CSC0 = 0x00000000u, + SCE_GXM_TEXTURE_SWIZZLE_YVU_CSC0 = 0x00001000u, + SCE_GXM_TEXTURE_SWIZZLE_YUV_CSC1 = 0x00002000u, + SCE_GXM_TEXTURE_SWIZZLE_YVU_CSC1 = 0x00003000u +}; + +enum SceGxmTextureBaseFormat : u32 +{ + SCE_GXM_TEXTURE_BASE_FORMAT_U8 = 0x00000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_S8 = 0x01000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_U4U4U4U4 = 0x02000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_U8U3U3U2 = 0x03000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_U1U5U5U5 = 0x04000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_U5U6U5 = 0x05000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_S5S5U6 = 0x06000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_U8U8 = 0x07000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_S8S8 = 0x08000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_U16 = 0x09000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_S16 = 0x0a000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_F16 = 0x0b000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_U8U8U8U8 = 0x0c000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_S8S8S8S8 = 0x0d000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_U2U10U10U10 = 0x0e000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_U16U16 = 0x0f000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_S16S16 = 0x10000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_F16F16 = 0x11000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_F32 = 0x12000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_F32M = 0x13000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_X8S8S8U8 = 0x14000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_X8U24 = 0x15000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_U32 = 0x17000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_S32 = 0x18000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_SE5M9M9M9 = 0x19000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_F11F11F10 = 0x1a000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_F16F16F16F16 = 0x1b000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_U16U16U16U16 = 0x1c000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_S16S16S16S16 = 0x1d000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_F32F32 = 0x1e000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_U32U32 = 0x1f000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_PVRT2BPP = 0x80000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_PVRT4BPP = 0x81000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_PVRTII2BPP = 0x82000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_PVRTII4BPP = 0x83000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_UBC1 = 0x85000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_UBC2 = 0x86000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_UBC3 = 0x87000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_YUV420P2 = 0x90000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_YUV420P3 = 0x91000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_YUV422 = 0x92000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_P4 = 0x94000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_P8 = 0x95000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_U8U8U8 = 0x98000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_S8S8S8 = 0x99000000u, + SCE_GXM_TEXTURE_BASE_FORMAT_U2F10F10F10 = 0x9a000000u +}; + +enum SceGxmTextureFormat : u32 +{ + // Supported formats + + SCE_GXM_TEXTURE_FORMAT_U8_000R = SCE_GXM_TEXTURE_BASE_FORMAT_U8 | SCE_GXM_TEXTURE_SWIZZLE1_000R, + SCE_GXM_TEXTURE_FORMAT_U8_111R = SCE_GXM_TEXTURE_BASE_FORMAT_U8 | SCE_GXM_TEXTURE_SWIZZLE1_111R, + SCE_GXM_TEXTURE_FORMAT_U8_RRRR = SCE_GXM_TEXTURE_BASE_FORMAT_U8 | SCE_GXM_TEXTURE_SWIZZLE1_RRRR, + SCE_GXM_TEXTURE_FORMAT_U8_0RRR = SCE_GXM_TEXTURE_BASE_FORMAT_U8 | SCE_GXM_TEXTURE_SWIZZLE1_0RRR, + SCE_GXM_TEXTURE_FORMAT_U8_1RRR = SCE_GXM_TEXTURE_BASE_FORMAT_U8 | SCE_GXM_TEXTURE_SWIZZLE1_1RRR, + SCE_GXM_TEXTURE_FORMAT_U8_R000 = SCE_GXM_TEXTURE_BASE_FORMAT_U8 | SCE_GXM_TEXTURE_SWIZZLE1_R000, + SCE_GXM_TEXTURE_FORMAT_U8_R111 = SCE_GXM_TEXTURE_BASE_FORMAT_U8 | SCE_GXM_TEXTURE_SWIZZLE1_R111, + SCE_GXM_TEXTURE_FORMAT_U8_R = SCE_GXM_TEXTURE_BASE_FORMAT_U8 | SCE_GXM_TEXTURE_SWIZZLE1_R, + + SCE_GXM_TEXTURE_FORMAT_S8_000R = SCE_GXM_TEXTURE_BASE_FORMAT_S8 | SCE_GXM_TEXTURE_SWIZZLE1_000R, + SCE_GXM_TEXTURE_FORMAT_S8_111R = SCE_GXM_TEXTURE_BASE_FORMAT_S8 | SCE_GXM_TEXTURE_SWIZZLE1_111R, + SCE_GXM_TEXTURE_FORMAT_S8_RRRR = SCE_GXM_TEXTURE_BASE_FORMAT_S8 | SCE_GXM_TEXTURE_SWIZZLE1_RRRR, + SCE_GXM_TEXTURE_FORMAT_S8_0RRR = SCE_GXM_TEXTURE_BASE_FORMAT_S8 | SCE_GXM_TEXTURE_SWIZZLE1_0RRR, + SCE_GXM_TEXTURE_FORMAT_S8_1RRR = SCE_GXM_TEXTURE_BASE_FORMAT_S8 | SCE_GXM_TEXTURE_SWIZZLE1_1RRR, + SCE_GXM_TEXTURE_FORMAT_S8_R000 = SCE_GXM_TEXTURE_BASE_FORMAT_S8 | SCE_GXM_TEXTURE_SWIZZLE1_R000, + SCE_GXM_TEXTURE_FORMAT_S8_R111 = SCE_GXM_TEXTURE_BASE_FORMAT_S8 | SCE_GXM_TEXTURE_SWIZZLE1_R111, + SCE_GXM_TEXTURE_FORMAT_S8_R = SCE_GXM_TEXTURE_BASE_FORMAT_S8 | SCE_GXM_TEXTURE_SWIZZLE1_R, + + SCE_GXM_TEXTURE_FORMAT_U4U4U4U4_ABGR = SCE_GXM_TEXTURE_BASE_FORMAT_U4U4U4U4 | SCE_GXM_TEXTURE_SWIZZLE4_ABGR, + SCE_GXM_TEXTURE_FORMAT_U4U4U4U4_ARGB = SCE_GXM_TEXTURE_BASE_FORMAT_U4U4U4U4 | SCE_GXM_TEXTURE_SWIZZLE4_ARGB, + SCE_GXM_TEXTURE_FORMAT_U4U4U4U4_RGBA = SCE_GXM_TEXTURE_BASE_FORMAT_U4U4U4U4 | SCE_GXM_TEXTURE_SWIZZLE4_RGBA, + SCE_GXM_TEXTURE_FORMAT_U4U4U4U4_BGRA = SCE_GXM_TEXTURE_BASE_FORMAT_U4U4U4U4 | SCE_GXM_TEXTURE_SWIZZLE4_BGRA, + SCE_GXM_TEXTURE_FORMAT_X4U4U4U4_1BGR = SCE_GXM_TEXTURE_BASE_FORMAT_U4U4U4U4 | SCE_GXM_TEXTURE_SWIZZLE4_1BGR, + SCE_GXM_TEXTURE_FORMAT_X4U4U4U4_1RGB = SCE_GXM_TEXTURE_BASE_FORMAT_U4U4U4U4 | SCE_GXM_TEXTURE_SWIZZLE4_1RGB, + SCE_GXM_TEXTURE_FORMAT_U4U4U4X4_RGB1 = SCE_GXM_TEXTURE_BASE_FORMAT_U4U4U4U4 | SCE_GXM_TEXTURE_SWIZZLE4_RGB1, + SCE_GXM_TEXTURE_FORMAT_U4U4U4X4_BGR1 = SCE_GXM_TEXTURE_BASE_FORMAT_U4U4U4U4 | SCE_GXM_TEXTURE_SWIZZLE4_BGR1, + + SCE_GXM_TEXTURE_FORMAT_U8U3U3U2_ARGB = SCE_GXM_TEXTURE_BASE_FORMAT_U8U3U3U2, + + SCE_GXM_TEXTURE_FORMAT_U1U5U5U5_ABGR = SCE_GXM_TEXTURE_BASE_FORMAT_U1U5U5U5 | SCE_GXM_TEXTURE_SWIZZLE4_ABGR, + SCE_GXM_TEXTURE_FORMAT_U1U5U5U5_ARGB = SCE_GXM_TEXTURE_BASE_FORMAT_U1U5U5U5 | SCE_GXM_TEXTURE_SWIZZLE4_ARGB, + SCE_GXM_TEXTURE_FORMAT_U5U5U5U1_RGBA = SCE_GXM_TEXTURE_BASE_FORMAT_U1U5U5U5 | SCE_GXM_TEXTURE_SWIZZLE4_RGBA, + SCE_GXM_TEXTURE_FORMAT_U5U5U5U1_BGRA = SCE_GXM_TEXTURE_BASE_FORMAT_U1U5U5U5 | SCE_GXM_TEXTURE_SWIZZLE4_BGRA, + SCE_GXM_TEXTURE_FORMAT_X1U5U5U5_1BGR = SCE_GXM_TEXTURE_BASE_FORMAT_U1U5U5U5 | SCE_GXM_TEXTURE_SWIZZLE4_1BGR, + SCE_GXM_TEXTURE_FORMAT_X1U5U5U5_1RGB = SCE_GXM_TEXTURE_BASE_FORMAT_U1U5U5U5 | SCE_GXM_TEXTURE_SWIZZLE4_1RGB, + SCE_GXM_TEXTURE_FORMAT_U5U5U5X1_RGB1 = SCE_GXM_TEXTURE_BASE_FORMAT_U1U5U5U5 | SCE_GXM_TEXTURE_SWIZZLE4_RGB1, + SCE_GXM_TEXTURE_FORMAT_U5U5U5X1_BGR1 = SCE_GXM_TEXTURE_BASE_FORMAT_U1U5U5U5 | SCE_GXM_TEXTURE_SWIZZLE4_BGR1, + + SCE_GXM_TEXTURE_FORMAT_U5U6U5_BGR = SCE_GXM_TEXTURE_BASE_FORMAT_U5U6U5 | SCE_GXM_TEXTURE_SWIZZLE3_BGR, + SCE_GXM_TEXTURE_FORMAT_U5U6U5_RGB = SCE_GXM_TEXTURE_BASE_FORMAT_U5U6U5 | SCE_GXM_TEXTURE_SWIZZLE3_RGB, + + SCE_GXM_TEXTURE_FORMAT_U6S5S5_BGR = SCE_GXM_TEXTURE_BASE_FORMAT_S5S5U6 | SCE_GXM_TEXTURE_SWIZZLE3_BGR, + SCE_GXM_TEXTURE_FORMAT_S5S5U6_RGB = SCE_GXM_TEXTURE_BASE_FORMAT_S5S5U6 | SCE_GXM_TEXTURE_SWIZZLE3_RGB, + + SCE_GXM_TEXTURE_FORMAT_U8U8_00GR = SCE_GXM_TEXTURE_BASE_FORMAT_U8U8 | SCE_GXM_TEXTURE_SWIZZLE2_00GR, + SCE_GXM_TEXTURE_FORMAT_U8U8_GRRR = SCE_GXM_TEXTURE_BASE_FORMAT_U8U8 | SCE_GXM_TEXTURE_SWIZZLE2_GRRR, + SCE_GXM_TEXTURE_FORMAT_U8U8_RGGG = SCE_GXM_TEXTURE_BASE_FORMAT_U8U8 | SCE_GXM_TEXTURE_SWIZZLE2_RGGG, + SCE_GXM_TEXTURE_FORMAT_U8U8_GRGR = SCE_GXM_TEXTURE_BASE_FORMAT_U8U8 | SCE_GXM_TEXTURE_SWIZZLE2_GRGR, + SCE_GXM_TEXTURE_FORMAT_U8U8_00RG = SCE_GXM_TEXTURE_BASE_FORMAT_U8U8 | SCE_GXM_TEXTURE_SWIZZLE2_00RG, + SCE_GXM_TEXTURE_FORMAT_U8U8_GR = SCE_GXM_TEXTURE_BASE_FORMAT_U8U8 | SCE_GXM_TEXTURE_SWIZZLE2_GR, + + SCE_GXM_TEXTURE_FORMAT_S8S8_00GR = SCE_GXM_TEXTURE_BASE_FORMAT_S8S8 | SCE_GXM_TEXTURE_SWIZZLE2_00GR, + SCE_GXM_TEXTURE_FORMAT_S8S8_GRRR = SCE_GXM_TEXTURE_BASE_FORMAT_S8S8 | SCE_GXM_TEXTURE_SWIZZLE2_GRRR, + SCE_GXM_TEXTURE_FORMAT_S8S8_RGGG = SCE_GXM_TEXTURE_BASE_FORMAT_S8S8 | SCE_GXM_TEXTURE_SWIZZLE2_RGGG, + SCE_GXM_TEXTURE_FORMAT_S8S8_GRGR = SCE_GXM_TEXTURE_BASE_FORMAT_S8S8 | SCE_GXM_TEXTURE_SWIZZLE2_GRGR, + SCE_GXM_TEXTURE_FORMAT_S8S8_00RG = SCE_GXM_TEXTURE_BASE_FORMAT_S8S8 | SCE_GXM_TEXTURE_SWIZZLE2_00RG, + SCE_GXM_TEXTURE_FORMAT_S8S8_GR = SCE_GXM_TEXTURE_BASE_FORMAT_S8S8 | SCE_GXM_TEXTURE_SWIZZLE2_GR, + + SCE_GXM_TEXTURE_FORMAT_U16_000R = SCE_GXM_TEXTURE_BASE_FORMAT_U16 | SCE_GXM_TEXTURE_SWIZZLE1_000R, + SCE_GXM_TEXTURE_FORMAT_U16_111R = SCE_GXM_TEXTURE_BASE_FORMAT_U16 | SCE_GXM_TEXTURE_SWIZZLE1_111R, + SCE_GXM_TEXTURE_FORMAT_U16_RRRR = SCE_GXM_TEXTURE_BASE_FORMAT_U16 | SCE_GXM_TEXTURE_SWIZZLE1_RRRR, + SCE_GXM_TEXTURE_FORMAT_U16_0RRR = SCE_GXM_TEXTURE_BASE_FORMAT_U16 | SCE_GXM_TEXTURE_SWIZZLE1_0RRR, + SCE_GXM_TEXTURE_FORMAT_U16_1RRR = SCE_GXM_TEXTURE_BASE_FORMAT_U16 | SCE_GXM_TEXTURE_SWIZZLE1_1RRR, + SCE_GXM_TEXTURE_FORMAT_U16_R000 = SCE_GXM_TEXTURE_BASE_FORMAT_U16 | SCE_GXM_TEXTURE_SWIZZLE1_R000, + SCE_GXM_TEXTURE_FORMAT_U16_R111 = SCE_GXM_TEXTURE_BASE_FORMAT_U16 | SCE_GXM_TEXTURE_SWIZZLE1_R111, + SCE_GXM_TEXTURE_FORMAT_U16_R = SCE_GXM_TEXTURE_BASE_FORMAT_U16 | SCE_GXM_TEXTURE_SWIZZLE1_R, + + SCE_GXM_TEXTURE_FORMAT_S16_000R = SCE_GXM_TEXTURE_BASE_FORMAT_S16 | SCE_GXM_TEXTURE_SWIZZLE1_000R, + SCE_GXM_TEXTURE_FORMAT_S16_111R = SCE_GXM_TEXTURE_BASE_FORMAT_S16 | SCE_GXM_TEXTURE_SWIZZLE1_111R, + SCE_GXM_TEXTURE_FORMAT_S16_RRRR = SCE_GXM_TEXTURE_BASE_FORMAT_S16 | SCE_GXM_TEXTURE_SWIZZLE1_RRRR, + SCE_GXM_TEXTURE_FORMAT_S16_0RRR = SCE_GXM_TEXTURE_BASE_FORMAT_S16 | SCE_GXM_TEXTURE_SWIZZLE1_0RRR, + SCE_GXM_TEXTURE_FORMAT_S16_1RRR = SCE_GXM_TEXTURE_BASE_FORMAT_S16 | SCE_GXM_TEXTURE_SWIZZLE1_1RRR, + SCE_GXM_TEXTURE_FORMAT_S16_R000 = SCE_GXM_TEXTURE_BASE_FORMAT_S16 | SCE_GXM_TEXTURE_SWIZZLE1_R000, + SCE_GXM_TEXTURE_FORMAT_S16_R111 = SCE_GXM_TEXTURE_BASE_FORMAT_S16 | SCE_GXM_TEXTURE_SWIZZLE1_R111, + SCE_GXM_TEXTURE_FORMAT_S16_R = SCE_GXM_TEXTURE_BASE_FORMAT_S16 | SCE_GXM_TEXTURE_SWIZZLE1_R, + + SCE_GXM_TEXTURE_FORMAT_F16_000R = SCE_GXM_TEXTURE_BASE_FORMAT_F16 | SCE_GXM_TEXTURE_SWIZZLE1_000R, + SCE_GXM_TEXTURE_FORMAT_F16_111R = SCE_GXM_TEXTURE_BASE_FORMAT_F16 | SCE_GXM_TEXTURE_SWIZZLE1_111R, + SCE_GXM_TEXTURE_FORMAT_F16_RRRR = SCE_GXM_TEXTURE_BASE_FORMAT_F16 | SCE_GXM_TEXTURE_SWIZZLE1_RRRR, + SCE_GXM_TEXTURE_FORMAT_F16_0RRR = SCE_GXM_TEXTURE_BASE_FORMAT_F16 | SCE_GXM_TEXTURE_SWIZZLE1_0RRR, + SCE_GXM_TEXTURE_FORMAT_F16_1RRR = SCE_GXM_TEXTURE_BASE_FORMAT_F16 | SCE_GXM_TEXTURE_SWIZZLE1_1RRR, + SCE_GXM_TEXTURE_FORMAT_F16_R000 = SCE_GXM_TEXTURE_BASE_FORMAT_F16 | SCE_GXM_TEXTURE_SWIZZLE1_R000, + SCE_GXM_TEXTURE_FORMAT_F16_R111 = SCE_GXM_TEXTURE_BASE_FORMAT_F16 | SCE_GXM_TEXTURE_SWIZZLE1_R111, + SCE_GXM_TEXTURE_FORMAT_F16_R = SCE_GXM_TEXTURE_BASE_FORMAT_F16 | SCE_GXM_TEXTURE_SWIZZLE1_R, + + SCE_GXM_TEXTURE_FORMAT_U8U8U8U8_ABGR = SCE_GXM_TEXTURE_BASE_FORMAT_U8U8U8U8 | SCE_GXM_TEXTURE_SWIZZLE4_ABGR, + SCE_GXM_TEXTURE_FORMAT_U8U8U8U8_ARGB = SCE_GXM_TEXTURE_BASE_FORMAT_U8U8U8U8 | SCE_GXM_TEXTURE_SWIZZLE4_ARGB, + SCE_GXM_TEXTURE_FORMAT_U8U8U8U8_RGBA = SCE_GXM_TEXTURE_BASE_FORMAT_U8U8U8U8 | SCE_GXM_TEXTURE_SWIZZLE4_RGBA, + SCE_GXM_TEXTURE_FORMAT_U8U8U8U8_BGRA = SCE_GXM_TEXTURE_BASE_FORMAT_U8U8U8U8 | SCE_GXM_TEXTURE_SWIZZLE4_BGRA, + SCE_GXM_TEXTURE_FORMAT_X8U8U8U8_1BGR = SCE_GXM_TEXTURE_BASE_FORMAT_U8U8U8U8 | SCE_GXM_TEXTURE_SWIZZLE4_1BGR, + SCE_GXM_TEXTURE_FORMAT_X8U8U8U8_1RGB = SCE_GXM_TEXTURE_BASE_FORMAT_U8U8U8U8 | SCE_GXM_TEXTURE_SWIZZLE4_1RGB, + SCE_GXM_TEXTURE_FORMAT_U8U8U8X8_RGB1 = SCE_GXM_TEXTURE_BASE_FORMAT_U8U8U8U8 | SCE_GXM_TEXTURE_SWIZZLE4_RGB1, + SCE_GXM_TEXTURE_FORMAT_U8U8U8X8_BGR1 = SCE_GXM_TEXTURE_BASE_FORMAT_U8U8U8U8 | SCE_GXM_TEXTURE_SWIZZLE4_BGR1, + + SCE_GXM_TEXTURE_FORMAT_S8S8S8S8_ABGR = SCE_GXM_TEXTURE_BASE_FORMAT_S8S8S8S8 | SCE_GXM_TEXTURE_SWIZZLE4_ABGR, + SCE_GXM_TEXTURE_FORMAT_S8S8S8S8_ARGB = SCE_GXM_TEXTURE_BASE_FORMAT_S8S8S8S8 | SCE_GXM_TEXTURE_SWIZZLE4_ARGB, + SCE_GXM_TEXTURE_FORMAT_S8S8S8S8_RGBA = SCE_GXM_TEXTURE_BASE_FORMAT_S8S8S8S8 | SCE_GXM_TEXTURE_SWIZZLE4_RGBA, + SCE_GXM_TEXTURE_FORMAT_S8S8S8S8_BGRA = SCE_GXM_TEXTURE_BASE_FORMAT_S8S8S8S8 | SCE_GXM_TEXTURE_SWIZZLE4_BGRA, + SCE_GXM_TEXTURE_FORMAT_X8S8S8S8_1BGR = SCE_GXM_TEXTURE_BASE_FORMAT_S8S8S8S8 | SCE_GXM_TEXTURE_SWIZZLE4_1BGR, + SCE_GXM_TEXTURE_FORMAT_X8S8S8S8_1RGB = SCE_GXM_TEXTURE_BASE_FORMAT_S8S8S8S8 | SCE_GXM_TEXTURE_SWIZZLE4_1RGB, + SCE_GXM_TEXTURE_FORMAT_S8S8S8X8_RGB1 = SCE_GXM_TEXTURE_BASE_FORMAT_S8S8S8S8 | SCE_GXM_TEXTURE_SWIZZLE4_RGB1, + SCE_GXM_TEXTURE_FORMAT_S8S8S8X8_BGR1 = SCE_GXM_TEXTURE_BASE_FORMAT_S8S8S8S8 | SCE_GXM_TEXTURE_SWIZZLE4_BGR1, + + SCE_GXM_TEXTURE_FORMAT_U2U10U10U10_ABGR = SCE_GXM_TEXTURE_BASE_FORMAT_U2U10U10U10 | SCE_GXM_TEXTURE_SWIZZLE4_ABGR, + SCE_GXM_TEXTURE_FORMAT_U2U10U10U10_ARGB = SCE_GXM_TEXTURE_BASE_FORMAT_U2U10U10U10 | SCE_GXM_TEXTURE_SWIZZLE4_ARGB, + SCE_GXM_TEXTURE_FORMAT_U10U10U10U2_RGBA = SCE_GXM_TEXTURE_BASE_FORMAT_U2U10U10U10 | SCE_GXM_TEXTURE_SWIZZLE4_RGBA, + SCE_GXM_TEXTURE_FORMAT_U10U10U10U2_BGRA = SCE_GXM_TEXTURE_BASE_FORMAT_U2U10U10U10 | SCE_GXM_TEXTURE_SWIZZLE4_BGRA, + SCE_GXM_TEXTURE_FORMAT_X2U10U10U10_1BGR = SCE_GXM_TEXTURE_BASE_FORMAT_U2U10U10U10 | SCE_GXM_TEXTURE_SWIZZLE4_1BGR, + SCE_GXM_TEXTURE_FORMAT_X2U10U10U10_1RGB = SCE_GXM_TEXTURE_BASE_FORMAT_U2U10U10U10 | SCE_GXM_TEXTURE_SWIZZLE4_1RGB, + SCE_GXM_TEXTURE_FORMAT_U10U10U10X2_RGB1 = SCE_GXM_TEXTURE_BASE_FORMAT_U2U10U10U10 | SCE_GXM_TEXTURE_SWIZZLE4_RGB1, + SCE_GXM_TEXTURE_FORMAT_U10U10U10X2_BGR1 = SCE_GXM_TEXTURE_BASE_FORMAT_U2U10U10U10 | SCE_GXM_TEXTURE_SWIZZLE4_BGR1, + + SCE_GXM_TEXTURE_FORMAT_U16U16_00GR = SCE_GXM_TEXTURE_BASE_FORMAT_U16U16 | SCE_GXM_TEXTURE_SWIZZLE2_00GR, + SCE_GXM_TEXTURE_FORMAT_U16U16_GRRR = SCE_GXM_TEXTURE_BASE_FORMAT_U16U16 | SCE_GXM_TEXTURE_SWIZZLE2_GRRR, + SCE_GXM_TEXTURE_FORMAT_U16U16_RGGG = SCE_GXM_TEXTURE_BASE_FORMAT_U16U16 | SCE_GXM_TEXTURE_SWIZZLE2_RGGG, + SCE_GXM_TEXTURE_FORMAT_U16U16_GRGR = SCE_GXM_TEXTURE_BASE_FORMAT_U16U16 | SCE_GXM_TEXTURE_SWIZZLE2_GRGR, + SCE_GXM_TEXTURE_FORMAT_U16U16_00RG = SCE_GXM_TEXTURE_BASE_FORMAT_U16U16 | SCE_GXM_TEXTURE_SWIZZLE2_00RG, + SCE_GXM_TEXTURE_FORMAT_U16U16_GR = SCE_GXM_TEXTURE_BASE_FORMAT_U16U16 | SCE_GXM_TEXTURE_SWIZZLE2_GR, + + SCE_GXM_TEXTURE_FORMAT_S16S16_00GR = SCE_GXM_TEXTURE_BASE_FORMAT_S16S16 | SCE_GXM_TEXTURE_SWIZZLE2_00GR, + SCE_GXM_TEXTURE_FORMAT_S16S16_GRRR = SCE_GXM_TEXTURE_BASE_FORMAT_S16S16 | SCE_GXM_TEXTURE_SWIZZLE2_GRRR, + SCE_GXM_TEXTURE_FORMAT_S16S16_RGGG = SCE_GXM_TEXTURE_BASE_FORMAT_S16S16 | SCE_GXM_TEXTURE_SWIZZLE2_RGGG, + SCE_GXM_TEXTURE_FORMAT_S16S16_GRGR = SCE_GXM_TEXTURE_BASE_FORMAT_S16S16 | SCE_GXM_TEXTURE_SWIZZLE2_GRGR, + SCE_GXM_TEXTURE_FORMAT_S16S16_00RG = SCE_GXM_TEXTURE_BASE_FORMAT_S16S16 | SCE_GXM_TEXTURE_SWIZZLE2_00RG, + SCE_GXM_TEXTURE_FORMAT_S16S16_GR = SCE_GXM_TEXTURE_BASE_FORMAT_S16S16 | SCE_GXM_TEXTURE_SWIZZLE2_GR, + + SCE_GXM_TEXTURE_FORMAT_F16F16_00GR = SCE_GXM_TEXTURE_BASE_FORMAT_F16F16 | SCE_GXM_TEXTURE_SWIZZLE2_00GR, + SCE_GXM_TEXTURE_FORMAT_F16F16_GRRR = SCE_GXM_TEXTURE_BASE_FORMAT_F16F16 | SCE_GXM_TEXTURE_SWIZZLE2_GRRR, + SCE_GXM_TEXTURE_FORMAT_F16F16_RGGG = SCE_GXM_TEXTURE_BASE_FORMAT_F16F16 | SCE_GXM_TEXTURE_SWIZZLE2_RGGG, + SCE_GXM_TEXTURE_FORMAT_F16F16_GRGR = SCE_GXM_TEXTURE_BASE_FORMAT_F16F16 | SCE_GXM_TEXTURE_SWIZZLE2_GRGR, + SCE_GXM_TEXTURE_FORMAT_F16F16_00RG = SCE_GXM_TEXTURE_BASE_FORMAT_F16F16 | SCE_GXM_TEXTURE_SWIZZLE2_00RG, + SCE_GXM_TEXTURE_FORMAT_F16F16_GR = SCE_GXM_TEXTURE_BASE_FORMAT_F16F16 | SCE_GXM_TEXTURE_SWIZZLE2_GR, + + SCE_GXM_TEXTURE_FORMAT_F32_000R = SCE_GXM_TEXTURE_BASE_FORMAT_F32 | SCE_GXM_TEXTURE_SWIZZLE1_000R, + SCE_GXM_TEXTURE_FORMAT_F32_111R = SCE_GXM_TEXTURE_BASE_FORMAT_F32 | SCE_GXM_TEXTURE_SWIZZLE1_111R, + SCE_GXM_TEXTURE_FORMAT_F32_RRRR = SCE_GXM_TEXTURE_BASE_FORMAT_F32 | SCE_GXM_TEXTURE_SWIZZLE1_RRRR, + SCE_GXM_TEXTURE_FORMAT_F32_0RRR = SCE_GXM_TEXTURE_BASE_FORMAT_F32 | SCE_GXM_TEXTURE_SWIZZLE1_0RRR, + SCE_GXM_TEXTURE_FORMAT_F32_1RRR = SCE_GXM_TEXTURE_BASE_FORMAT_F32 | SCE_GXM_TEXTURE_SWIZZLE1_1RRR, + SCE_GXM_TEXTURE_FORMAT_F32_R000 = SCE_GXM_TEXTURE_BASE_FORMAT_F32 | SCE_GXM_TEXTURE_SWIZZLE1_R000, + SCE_GXM_TEXTURE_FORMAT_F32_R111 = SCE_GXM_TEXTURE_BASE_FORMAT_F32 | SCE_GXM_TEXTURE_SWIZZLE1_R111, + SCE_GXM_TEXTURE_FORMAT_F32_R = SCE_GXM_TEXTURE_BASE_FORMAT_F32 | SCE_GXM_TEXTURE_SWIZZLE1_R, + + SCE_GXM_TEXTURE_FORMAT_F32M_000R = SCE_GXM_TEXTURE_BASE_FORMAT_F32M | SCE_GXM_TEXTURE_SWIZZLE1_000R, + SCE_GXM_TEXTURE_FORMAT_F32M_111R = SCE_GXM_TEXTURE_BASE_FORMAT_F32M | SCE_GXM_TEXTURE_SWIZZLE1_111R, + SCE_GXM_TEXTURE_FORMAT_F32M_RRRR = SCE_GXM_TEXTURE_BASE_FORMAT_F32M | SCE_GXM_TEXTURE_SWIZZLE1_RRRR, + SCE_GXM_TEXTURE_FORMAT_F32M_0RRR = SCE_GXM_TEXTURE_BASE_FORMAT_F32M | SCE_GXM_TEXTURE_SWIZZLE1_0RRR, + SCE_GXM_TEXTURE_FORMAT_F32M_1RRR = SCE_GXM_TEXTURE_BASE_FORMAT_F32M | SCE_GXM_TEXTURE_SWIZZLE1_1RRR, + SCE_GXM_TEXTURE_FORMAT_F32M_R000 = SCE_GXM_TEXTURE_BASE_FORMAT_F32M | SCE_GXM_TEXTURE_SWIZZLE1_R000, + SCE_GXM_TEXTURE_FORMAT_F32M_R111 = SCE_GXM_TEXTURE_BASE_FORMAT_F32M | SCE_GXM_TEXTURE_SWIZZLE1_R111, + SCE_GXM_TEXTURE_FORMAT_F32M_R = SCE_GXM_TEXTURE_BASE_FORMAT_F32M | SCE_GXM_TEXTURE_SWIZZLE1_R, + + SCE_GXM_TEXTURE_FORMAT_X8S8S8U8_1BGR = SCE_GXM_TEXTURE_BASE_FORMAT_X8S8S8U8 | SCE_GXM_TEXTURE_SWIZZLE3_BGR, + SCE_GXM_TEXTURE_FORMAT_X8U8S8S8_1RGB = SCE_GXM_TEXTURE_BASE_FORMAT_X8S8S8U8 | SCE_GXM_TEXTURE_SWIZZLE3_RGB, + + SCE_GXM_TEXTURE_FORMAT_X8U24_SD = SCE_GXM_TEXTURE_BASE_FORMAT_X8U24 | SCE_GXM_TEXTURE_SWIZZLE2_SD, + SCE_GXM_TEXTURE_FORMAT_U24X8_DS = SCE_GXM_TEXTURE_BASE_FORMAT_X8U24 | SCE_GXM_TEXTURE_SWIZZLE2_DS, + + SCE_GXM_TEXTURE_FORMAT_U32_000R = SCE_GXM_TEXTURE_BASE_FORMAT_U32 | SCE_GXM_TEXTURE_SWIZZLE1_000R, + SCE_GXM_TEXTURE_FORMAT_U32_111R = SCE_GXM_TEXTURE_BASE_FORMAT_U32 | SCE_GXM_TEXTURE_SWIZZLE1_111R, + SCE_GXM_TEXTURE_FORMAT_U32_RRRR = SCE_GXM_TEXTURE_BASE_FORMAT_U32 | SCE_GXM_TEXTURE_SWIZZLE1_RRRR, + SCE_GXM_TEXTURE_FORMAT_U32_0RRR = SCE_GXM_TEXTURE_BASE_FORMAT_U32 | SCE_GXM_TEXTURE_SWIZZLE1_0RRR, + SCE_GXM_TEXTURE_FORMAT_U32_1RRR = SCE_GXM_TEXTURE_BASE_FORMAT_U32 | SCE_GXM_TEXTURE_SWIZZLE1_1RRR, + SCE_GXM_TEXTURE_FORMAT_U32_R000 = SCE_GXM_TEXTURE_BASE_FORMAT_U32 | SCE_GXM_TEXTURE_SWIZZLE1_R000, + SCE_GXM_TEXTURE_FORMAT_U32_R111 = SCE_GXM_TEXTURE_BASE_FORMAT_U32 | SCE_GXM_TEXTURE_SWIZZLE1_R111, + SCE_GXM_TEXTURE_FORMAT_U32_R = SCE_GXM_TEXTURE_BASE_FORMAT_U32 | SCE_GXM_TEXTURE_SWIZZLE1_R, + + SCE_GXM_TEXTURE_FORMAT_S32_000R = SCE_GXM_TEXTURE_BASE_FORMAT_S32 | SCE_GXM_TEXTURE_SWIZZLE1_000R, + SCE_GXM_TEXTURE_FORMAT_S32_111R = SCE_GXM_TEXTURE_BASE_FORMAT_S32 | SCE_GXM_TEXTURE_SWIZZLE1_111R, + SCE_GXM_TEXTURE_FORMAT_S32_RRRR = SCE_GXM_TEXTURE_BASE_FORMAT_S32 | SCE_GXM_TEXTURE_SWIZZLE1_RRRR, + SCE_GXM_TEXTURE_FORMAT_S32_0RRR = SCE_GXM_TEXTURE_BASE_FORMAT_S32 | SCE_GXM_TEXTURE_SWIZZLE1_0RRR, + SCE_GXM_TEXTURE_FORMAT_S32_1RRR = SCE_GXM_TEXTURE_BASE_FORMAT_S32 | SCE_GXM_TEXTURE_SWIZZLE1_1RRR, + SCE_GXM_TEXTURE_FORMAT_S32_R000 = SCE_GXM_TEXTURE_BASE_FORMAT_S32 | SCE_GXM_TEXTURE_SWIZZLE1_R000, + SCE_GXM_TEXTURE_FORMAT_S32_R111 = SCE_GXM_TEXTURE_BASE_FORMAT_S32 | SCE_GXM_TEXTURE_SWIZZLE1_R111, + SCE_GXM_TEXTURE_FORMAT_S32_R = SCE_GXM_TEXTURE_BASE_FORMAT_S32 | SCE_GXM_TEXTURE_SWIZZLE1_R, + + SCE_GXM_TEXTURE_FORMAT_SE5M9M9M9_BGR = SCE_GXM_TEXTURE_BASE_FORMAT_SE5M9M9M9 | SCE_GXM_TEXTURE_SWIZZLE3_BGR, + SCE_GXM_TEXTURE_FORMAT_SE5M9M9M9_RGB = SCE_GXM_TEXTURE_BASE_FORMAT_SE5M9M9M9 | SCE_GXM_TEXTURE_SWIZZLE3_RGB, + + SCE_GXM_TEXTURE_FORMAT_F10F11F11_BGR = SCE_GXM_TEXTURE_BASE_FORMAT_F11F11F10 | SCE_GXM_TEXTURE_SWIZZLE3_BGR, + SCE_GXM_TEXTURE_FORMAT_F11F11F10_RGB = SCE_GXM_TEXTURE_BASE_FORMAT_F11F11F10 | SCE_GXM_TEXTURE_SWIZZLE3_RGB, + + SCE_GXM_TEXTURE_FORMAT_F16F16F16F16_ABGR = SCE_GXM_TEXTURE_BASE_FORMAT_F16F16F16F16 | SCE_GXM_TEXTURE_SWIZZLE4_ABGR, + SCE_GXM_TEXTURE_FORMAT_F16F16F16F16_ARGB = SCE_GXM_TEXTURE_BASE_FORMAT_F16F16F16F16 | SCE_GXM_TEXTURE_SWIZZLE4_ARGB, + SCE_GXM_TEXTURE_FORMAT_F16F16F16F16_RGBA = SCE_GXM_TEXTURE_BASE_FORMAT_F16F16F16F16 | SCE_GXM_TEXTURE_SWIZZLE4_RGBA, + SCE_GXM_TEXTURE_FORMAT_F16F16F16F16_BGRA = SCE_GXM_TEXTURE_BASE_FORMAT_F16F16F16F16 | SCE_GXM_TEXTURE_SWIZZLE4_BGRA, + SCE_GXM_TEXTURE_FORMAT_X16F16F16F16_1BGR = SCE_GXM_TEXTURE_BASE_FORMAT_F16F16F16F16 | SCE_GXM_TEXTURE_SWIZZLE4_1BGR, + SCE_GXM_TEXTURE_FORMAT_X16F16F16F16_1RGB = SCE_GXM_TEXTURE_BASE_FORMAT_F16F16F16F16 | SCE_GXM_TEXTURE_SWIZZLE4_1RGB, + SCE_GXM_TEXTURE_FORMAT_F16F16F16X16_RGB1 = SCE_GXM_TEXTURE_BASE_FORMAT_F16F16F16F16 | SCE_GXM_TEXTURE_SWIZZLE4_RGB1, + SCE_GXM_TEXTURE_FORMAT_F16F16F16X16_BGR1 = SCE_GXM_TEXTURE_BASE_FORMAT_F16F16F16F16 | SCE_GXM_TEXTURE_SWIZZLE4_BGR1, + + SCE_GXM_TEXTURE_FORMAT_U16U16U16U16_ABGR = SCE_GXM_TEXTURE_BASE_FORMAT_U16U16U16U16 | SCE_GXM_TEXTURE_SWIZZLE4_ABGR, + SCE_GXM_TEXTURE_FORMAT_U16U16U16U16_ARGB = SCE_GXM_TEXTURE_BASE_FORMAT_U16U16U16U16 | SCE_GXM_TEXTURE_SWIZZLE4_ARGB, + SCE_GXM_TEXTURE_FORMAT_U16U16U16U16_RGBA = SCE_GXM_TEXTURE_BASE_FORMAT_U16U16U16U16 | SCE_GXM_TEXTURE_SWIZZLE4_RGBA, + SCE_GXM_TEXTURE_FORMAT_U16U16U16U16_BGRA = SCE_GXM_TEXTURE_BASE_FORMAT_U16U16U16U16 | SCE_GXM_TEXTURE_SWIZZLE4_BGRA, + SCE_GXM_TEXTURE_FORMAT_X16U16U16U16_1BGR = SCE_GXM_TEXTURE_BASE_FORMAT_U16U16U16U16 | SCE_GXM_TEXTURE_SWIZZLE4_1BGR, + SCE_GXM_TEXTURE_FORMAT_X16U16U16U16_1RGB = SCE_GXM_TEXTURE_BASE_FORMAT_U16U16U16U16 | SCE_GXM_TEXTURE_SWIZZLE4_1RGB, + SCE_GXM_TEXTURE_FORMAT_U16U16U16X16_RGB1 = SCE_GXM_TEXTURE_BASE_FORMAT_U16U16U16U16 | SCE_GXM_TEXTURE_SWIZZLE4_RGB1, + SCE_GXM_TEXTURE_FORMAT_U16U16U16X16_BGR1 = SCE_GXM_TEXTURE_BASE_FORMAT_U16U16U16U16 | SCE_GXM_TEXTURE_SWIZZLE4_BGR1, + + SCE_GXM_TEXTURE_FORMAT_S16S16S16S16_ABGR = SCE_GXM_TEXTURE_BASE_FORMAT_S16S16S16S16 | SCE_GXM_TEXTURE_SWIZZLE4_ABGR, + SCE_GXM_TEXTURE_FORMAT_S16S16S16S16_ARGB = SCE_GXM_TEXTURE_BASE_FORMAT_S16S16S16S16 | SCE_GXM_TEXTURE_SWIZZLE4_ARGB, + SCE_GXM_TEXTURE_FORMAT_S16S16S16S16_RGBA = SCE_GXM_TEXTURE_BASE_FORMAT_S16S16S16S16 | SCE_GXM_TEXTURE_SWIZZLE4_RGBA, + SCE_GXM_TEXTURE_FORMAT_S16S16S16S16_BGRA = SCE_GXM_TEXTURE_BASE_FORMAT_S16S16S16S16 | SCE_GXM_TEXTURE_SWIZZLE4_BGRA, + SCE_GXM_TEXTURE_FORMAT_X16S16S16S16_1BGR = SCE_GXM_TEXTURE_BASE_FORMAT_S16S16S16S16 | SCE_GXM_TEXTURE_SWIZZLE4_1BGR, + SCE_GXM_TEXTURE_FORMAT_X16S16S16S16_1RGB = SCE_GXM_TEXTURE_BASE_FORMAT_S16S16S16S16 | SCE_GXM_TEXTURE_SWIZZLE4_1RGB, + SCE_GXM_TEXTURE_FORMAT_S16S16S16X16_RGB1 = SCE_GXM_TEXTURE_BASE_FORMAT_S16S16S16S16 | SCE_GXM_TEXTURE_SWIZZLE4_RGB1, + SCE_GXM_TEXTURE_FORMAT_S16S16S16X16_BGR1 = SCE_GXM_TEXTURE_BASE_FORMAT_S16S16S16S16 | SCE_GXM_TEXTURE_SWIZZLE4_BGR1, + + SCE_GXM_TEXTURE_FORMAT_F32F32_00GR = SCE_GXM_TEXTURE_BASE_FORMAT_F32F32 | SCE_GXM_TEXTURE_SWIZZLE2_00GR, + SCE_GXM_TEXTURE_FORMAT_F32F32_GRRR = SCE_GXM_TEXTURE_BASE_FORMAT_F32F32 | SCE_GXM_TEXTURE_SWIZZLE2_GRRR, + SCE_GXM_TEXTURE_FORMAT_F32F32_RGGG = SCE_GXM_TEXTURE_BASE_FORMAT_F32F32 | SCE_GXM_TEXTURE_SWIZZLE2_RGGG, + SCE_GXM_TEXTURE_FORMAT_F32F32_GRGR = SCE_GXM_TEXTURE_BASE_FORMAT_F32F32 | SCE_GXM_TEXTURE_SWIZZLE2_GRGR, + SCE_GXM_TEXTURE_FORMAT_F32F32_00RG = SCE_GXM_TEXTURE_BASE_FORMAT_F32F32 | SCE_GXM_TEXTURE_SWIZZLE2_00RG, + SCE_GXM_TEXTURE_FORMAT_F32F32_GR = SCE_GXM_TEXTURE_BASE_FORMAT_F32F32 | SCE_GXM_TEXTURE_SWIZZLE2_GR, + + SCE_GXM_TEXTURE_FORMAT_U32U32_00GR = SCE_GXM_TEXTURE_BASE_FORMAT_U32U32 | SCE_GXM_TEXTURE_SWIZZLE2_00GR, + SCE_GXM_TEXTURE_FORMAT_U32U32_GRRR = SCE_GXM_TEXTURE_BASE_FORMAT_U32U32 | SCE_GXM_TEXTURE_SWIZZLE2_GRRR, + SCE_GXM_TEXTURE_FORMAT_U32U32_RGGG = SCE_GXM_TEXTURE_BASE_FORMAT_U32U32 | SCE_GXM_TEXTURE_SWIZZLE2_RGGG, + SCE_GXM_TEXTURE_FORMAT_U32U32_GRGR = SCE_GXM_TEXTURE_BASE_FORMAT_U32U32 | SCE_GXM_TEXTURE_SWIZZLE2_GRGR, + SCE_GXM_TEXTURE_FORMAT_U32U32_00RG = SCE_GXM_TEXTURE_BASE_FORMAT_U32U32 | SCE_GXM_TEXTURE_SWIZZLE2_00RG, + SCE_GXM_TEXTURE_FORMAT_U32U32_GR = SCE_GXM_TEXTURE_BASE_FORMAT_U32U32 | SCE_GXM_TEXTURE_SWIZZLE2_GR, + + SCE_GXM_TEXTURE_FORMAT_PVRT2BPP_ABGR = SCE_GXM_TEXTURE_BASE_FORMAT_PVRT2BPP | SCE_GXM_TEXTURE_SWIZZLE4_ABGR, + SCE_GXM_TEXTURE_FORMAT_PVRT2BPP_1BGR = SCE_GXM_TEXTURE_BASE_FORMAT_PVRT2BPP | SCE_GXM_TEXTURE_SWIZZLE4_1BGR, + + SCE_GXM_TEXTURE_FORMAT_PVRT4BPP_ABGR = SCE_GXM_TEXTURE_BASE_FORMAT_PVRT4BPP | SCE_GXM_TEXTURE_SWIZZLE4_ABGR, + SCE_GXM_TEXTURE_FORMAT_PVRT4BPP_1BGR = SCE_GXM_TEXTURE_BASE_FORMAT_PVRT4BPP | SCE_GXM_TEXTURE_SWIZZLE4_1BGR, + + SCE_GXM_TEXTURE_FORMAT_PVRTII2BPP_ABGR = SCE_GXM_TEXTURE_BASE_FORMAT_PVRTII2BPP | SCE_GXM_TEXTURE_SWIZZLE4_ABGR, + SCE_GXM_TEXTURE_FORMAT_PVRTII2BPP_1BGR = SCE_GXM_TEXTURE_BASE_FORMAT_PVRTII2BPP | SCE_GXM_TEXTURE_SWIZZLE4_1BGR, + + SCE_GXM_TEXTURE_FORMAT_PVRTII4BPP_ABGR = SCE_GXM_TEXTURE_BASE_FORMAT_PVRTII4BPP | SCE_GXM_TEXTURE_SWIZZLE4_ABGR, + SCE_GXM_TEXTURE_FORMAT_PVRTII4BPP_1BGR = SCE_GXM_TEXTURE_BASE_FORMAT_PVRTII4BPP | SCE_GXM_TEXTURE_SWIZZLE4_1BGR, + + SCE_GXM_TEXTURE_FORMAT_UBC1_ABGR = SCE_GXM_TEXTURE_BASE_FORMAT_UBC1 | SCE_GXM_TEXTURE_SWIZZLE4_ABGR, + + SCE_GXM_TEXTURE_FORMAT_UBC2_ABGR = SCE_GXM_TEXTURE_BASE_FORMAT_UBC2 | SCE_GXM_TEXTURE_SWIZZLE4_ABGR, + + SCE_GXM_TEXTURE_FORMAT_UBC3_ABGR = SCE_GXM_TEXTURE_BASE_FORMAT_UBC3 | SCE_GXM_TEXTURE_SWIZZLE4_ABGR, + + SCE_GXM_TEXTURE_FORMAT_YUV420P2_CSC0 = SCE_GXM_TEXTURE_BASE_FORMAT_YUV420P2 | SCE_GXM_TEXTURE_SWIZZLE_YUV_CSC0, + SCE_GXM_TEXTURE_FORMAT_YVU420P2_CSC0 = SCE_GXM_TEXTURE_BASE_FORMAT_YUV420P2 | SCE_GXM_TEXTURE_SWIZZLE_YVU_CSC0, + SCE_GXM_TEXTURE_FORMAT_YUV420P2_CSC1 = SCE_GXM_TEXTURE_BASE_FORMAT_YUV420P2 | SCE_GXM_TEXTURE_SWIZZLE_YUV_CSC1, + SCE_GXM_TEXTURE_FORMAT_YVU420P2_CSC1 = SCE_GXM_TEXTURE_BASE_FORMAT_YUV420P2 | SCE_GXM_TEXTURE_SWIZZLE_YVU_CSC1, + + SCE_GXM_TEXTURE_FORMAT_YUV420P3_CSC0 = SCE_GXM_TEXTURE_BASE_FORMAT_YUV420P3 | SCE_GXM_TEXTURE_SWIZZLE_YUV_CSC0, + SCE_GXM_TEXTURE_FORMAT_YVU420P3_CSC0 = SCE_GXM_TEXTURE_BASE_FORMAT_YUV420P3 | SCE_GXM_TEXTURE_SWIZZLE_YVU_CSC0, + SCE_GXM_TEXTURE_FORMAT_YUV420P3_CSC1 = SCE_GXM_TEXTURE_BASE_FORMAT_YUV420P3 | SCE_GXM_TEXTURE_SWIZZLE_YUV_CSC1, + SCE_GXM_TEXTURE_FORMAT_YVU420P3_CSC1 = SCE_GXM_TEXTURE_BASE_FORMAT_YUV420P3 | SCE_GXM_TEXTURE_SWIZZLE_YVU_CSC1, + + SCE_GXM_TEXTURE_FORMAT_YUYV422_CSC0 = SCE_GXM_TEXTURE_BASE_FORMAT_YUV422 | SCE_GXM_TEXTURE_SWIZZLE_YUYV_CSC0, + SCE_GXM_TEXTURE_FORMAT_YVYU422_CSC0 = SCE_GXM_TEXTURE_BASE_FORMAT_YUV422 | SCE_GXM_TEXTURE_SWIZZLE_YVYU_CSC0, + SCE_GXM_TEXTURE_FORMAT_UYVY422_CSC0 = SCE_GXM_TEXTURE_BASE_FORMAT_YUV422 | SCE_GXM_TEXTURE_SWIZZLE_UYVY_CSC0, + SCE_GXM_TEXTURE_FORMAT_VYUY422_CSC0 = SCE_GXM_TEXTURE_BASE_FORMAT_YUV422 | SCE_GXM_TEXTURE_SWIZZLE_VYUY_CSC0, + SCE_GXM_TEXTURE_FORMAT_YUYV422_CSC1 = SCE_GXM_TEXTURE_BASE_FORMAT_YUV422 | SCE_GXM_TEXTURE_SWIZZLE_YUYV_CSC1, + SCE_GXM_TEXTURE_FORMAT_YVYU422_CSC1 = SCE_GXM_TEXTURE_BASE_FORMAT_YUV422 | SCE_GXM_TEXTURE_SWIZZLE_YVYU_CSC1, + SCE_GXM_TEXTURE_FORMAT_UYVY422_CSC1 = SCE_GXM_TEXTURE_BASE_FORMAT_YUV422 | SCE_GXM_TEXTURE_SWIZZLE_UYVY_CSC1, + SCE_GXM_TEXTURE_FORMAT_VYUY422_CSC1 = SCE_GXM_TEXTURE_BASE_FORMAT_YUV422 | SCE_GXM_TEXTURE_SWIZZLE_VYUY_CSC1, + + SCE_GXM_TEXTURE_FORMAT_P4_ABGR = SCE_GXM_TEXTURE_BASE_FORMAT_P4 | SCE_GXM_TEXTURE_SWIZZLE4_ABGR, + SCE_GXM_TEXTURE_FORMAT_P4_ARGB = SCE_GXM_TEXTURE_BASE_FORMAT_P4 | SCE_GXM_TEXTURE_SWIZZLE4_ARGB, + SCE_GXM_TEXTURE_FORMAT_P4_RGBA = SCE_GXM_TEXTURE_BASE_FORMAT_P4 | SCE_GXM_TEXTURE_SWIZZLE4_RGBA, + SCE_GXM_TEXTURE_FORMAT_P4_BGRA = SCE_GXM_TEXTURE_BASE_FORMAT_P4 | SCE_GXM_TEXTURE_SWIZZLE4_BGRA, + SCE_GXM_TEXTURE_FORMAT_P4_1BGR = SCE_GXM_TEXTURE_BASE_FORMAT_P4 | SCE_GXM_TEXTURE_SWIZZLE4_1BGR, + SCE_GXM_TEXTURE_FORMAT_P4_1RGB = SCE_GXM_TEXTURE_BASE_FORMAT_P4 | SCE_GXM_TEXTURE_SWIZZLE4_1RGB, + SCE_GXM_TEXTURE_FORMAT_P4_RGB1 = SCE_GXM_TEXTURE_BASE_FORMAT_P4 | SCE_GXM_TEXTURE_SWIZZLE4_RGB1, + SCE_GXM_TEXTURE_FORMAT_P4_BGR1 = SCE_GXM_TEXTURE_BASE_FORMAT_P4 | SCE_GXM_TEXTURE_SWIZZLE4_BGR1, + + SCE_GXM_TEXTURE_FORMAT_P8_ABGR = SCE_GXM_TEXTURE_BASE_FORMAT_P8 | SCE_GXM_TEXTURE_SWIZZLE4_ABGR, + SCE_GXM_TEXTURE_FORMAT_P8_ARGB = SCE_GXM_TEXTURE_BASE_FORMAT_P8 | SCE_GXM_TEXTURE_SWIZZLE4_ARGB, + SCE_GXM_TEXTURE_FORMAT_P8_RGBA = SCE_GXM_TEXTURE_BASE_FORMAT_P8 | SCE_GXM_TEXTURE_SWIZZLE4_RGBA, + SCE_GXM_TEXTURE_FORMAT_P8_BGRA = SCE_GXM_TEXTURE_BASE_FORMAT_P8 | SCE_GXM_TEXTURE_SWIZZLE4_BGRA, + SCE_GXM_TEXTURE_FORMAT_P8_1BGR = SCE_GXM_TEXTURE_BASE_FORMAT_P8 | SCE_GXM_TEXTURE_SWIZZLE4_1BGR, + SCE_GXM_TEXTURE_FORMAT_P8_1RGB = SCE_GXM_TEXTURE_BASE_FORMAT_P8 | SCE_GXM_TEXTURE_SWIZZLE4_1RGB, + SCE_GXM_TEXTURE_FORMAT_P8_RGB1 = SCE_GXM_TEXTURE_BASE_FORMAT_P8 | SCE_GXM_TEXTURE_SWIZZLE4_RGB1, + SCE_GXM_TEXTURE_FORMAT_P8_BGR1 = SCE_GXM_TEXTURE_BASE_FORMAT_P8 | SCE_GXM_TEXTURE_SWIZZLE4_BGR1, + + SCE_GXM_TEXTURE_FORMAT_U8U8U8_BGR = SCE_GXM_TEXTURE_BASE_FORMAT_U8U8U8 | SCE_GXM_TEXTURE_SWIZZLE3_BGR, + SCE_GXM_TEXTURE_FORMAT_U8U8U8_RGB = SCE_GXM_TEXTURE_BASE_FORMAT_U8U8U8 | SCE_GXM_TEXTURE_SWIZZLE3_RGB, + + SCE_GXM_TEXTURE_FORMAT_S8S8S8_BGR = SCE_GXM_TEXTURE_BASE_FORMAT_S8S8S8 | SCE_GXM_TEXTURE_SWIZZLE3_BGR, + SCE_GXM_TEXTURE_FORMAT_S8S8S8_RGB = SCE_GXM_TEXTURE_BASE_FORMAT_S8S8S8 | SCE_GXM_TEXTURE_SWIZZLE3_RGB, + + SCE_GXM_TEXTURE_FORMAT_U2F10F10F10_ABGR = SCE_GXM_TEXTURE_BASE_FORMAT_U2F10F10F10 | SCE_GXM_TEXTURE_SWIZZLE4_ABGR, + SCE_GXM_TEXTURE_FORMAT_U2F10F10F10_ARGB = SCE_GXM_TEXTURE_BASE_FORMAT_U2F10F10F10 | SCE_GXM_TEXTURE_SWIZZLE4_ARGB, + SCE_GXM_TEXTURE_FORMAT_F10F10F10U2_RGBA = SCE_GXM_TEXTURE_BASE_FORMAT_U2F10F10F10 | SCE_GXM_TEXTURE_SWIZZLE4_RGBA, + SCE_GXM_TEXTURE_FORMAT_F10F10F10U2_BGRA = SCE_GXM_TEXTURE_BASE_FORMAT_U2F10F10F10 | SCE_GXM_TEXTURE_SWIZZLE4_BGRA, + SCE_GXM_TEXTURE_FORMAT_X2F10F10F10_1BGR = SCE_GXM_TEXTURE_BASE_FORMAT_U2F10F10F10 | SCE_GXM_TEXTURE_SWIZZLE4_1BGR, + SCE_GXM_TEXTURE_FORMAT_X2F10F10F10_1RGB = SCE_GXM_TEXTURE_BASE_FORMAT_U2F10F10F10 | SCE_GXM_TEXTURE_SWIZZLE4_1RGB, + SCE_GXM_TEXTURE_FORMAT_F10F10F10X2_RGB1 = SCE_GXM_TEXTURE_BASE_FORMAT_U2F10F10F10 | SCE_GXM_TEXTURE_SWIZZLE4_RGB1, + SCE_GXM_TEXTURE_FORMAT_F10F10F10X2_BGR1 = SCE_GXM_TEXTURE_BASE_FORMAT_U2F10F10F10 | SCE_GXM_TEXTURE_SWIZZLE4_BGR1, + + // Legacy formats + + SCE_GXM_TEXTURE_FORMAT_L8 = SCE_GXM_TEXTURE_FORMAT_U8_1RRR, + SCE_GXM_TEXTURE_FORMAT_A8 = SCE_GXM_TEXTURE_FORMAT_U8_R000, + SCE_GXM_TEXTURE_FORMAT_R8 = SCE_GXM_TEXTURE_FORMAT_U8_000R, + SCE_GXM_TEXTURE_FORMAT_A4R4G4B4 = SCE_GXM_TEXTURE_FORMAT_U4U4U4U4_ARGB, + SCE_GXM_TEXTURE_FORMAT_A1R5G5B5 = SCE_GXM_TEXTURE_FORMAT_U1U5U5U5_ARGB, + SCE_GXM_TEXTURE_FORMAT_R5G6B5 = SCE_GXM_TEXTURE_FORMAT_U5U6U5_RGB, + SCE_GXM_TEXTURE_FORMAT_A8L8 = SCE_GXM_TEXTURE_FORMAT_U8U8_GRRR, + SCE_GXM_TEXTURE_FORMAT_L8A8 = SCE_GXM_TEXTURE_FORMAT_U8U8_RGGG, + SCE_GXM_TEXTURE_FORMAT_G8R8 = SCE_GXM_TEXTURE_FORMAT_U8U8_00GR, + SCE_GXM_TEXTURE_FORMAT_L16 = SCE_GXM_TEXTURE_FORMAT_U16_1RRR, + SCE_GXM_TEXTURE_FORMAT_A16 = SCE_GXM_TEXTURE_FORMAT_U16_R000, + SCE_GXM_TEXTURE_FORMAT_R16 = SCE_GXM_TEXTURE_FORMAT_U16_000R, + SCE_GXM_TEXTURE_FORMAT_D16 = SCE_GXM_TEXTURE_FORMAT_U16_R, + SCE_GXM_TEXTURE_FORMAT_LF16 = SCE_GXM_TEXTURE_FORMAT_F16_1RRR, + SCE_GXM_TEXTURE_FORMAT_AF16 = SCE_GXM_TEXTURE_FORMAT_F16_R000, + SCE_GXM_TEXTURE_FORMAT_RF16 = SCE_GXM_TEXTURE_FORMAT_F16_000R, + SCE_GXM_TEXTURE_FORMAT_A8R8G8B8 = SCE_GXM_TEXTURE_FORMAT_U8U8U8U8_ARGB, + SCE_GXM_TEXTURE_FORMAT_A8B8G8R8 = SCE_GXM_TEXTURE_FORMAT_U8U8U8U8_ABGR, + SCE_GXM_TEXTURE_FORMAT_AF16LF16 = SCE_GXM_TEXTURE_FORMAT_F16F16_GRRR, + SCE_GXM_TEXTURE_FORMAT_LF16AF16 = SCE_GXM_TEXTURE_FORMAT_F16F16_RGGG, + SCE_GXM_TEXTURE_FORMAT_GF16RF16 = SCE_GXM_TEXTURE_FORMAT_F16F16_00GR, + SCE_GXM_TEXTURE_FORMAT_LF32M = SCE_GXM_TEXTURE_FORMAT_F32M_1RRR, + SCE_GXM_TEXTURE_FORMAT_AF32M = SCE_GXM_TEXTURE_FORMAT_F32M_R000, + SCE_GXM_TEXTURE_FORMAT_RF32M = SCE_GXM_TEXTURE_FORMAT_F32M_000R, + SCE_GXM_TEXTURE_FORMAT_DF32M = SCE_GXM_TEXTURE_FORMAT_F32M_R, + SCE_GXM_TEXTURE_FORMAT_VYUY = SCE_GXM_TEXTURE_FORMAT_VYUY422_CSC0, + SCE_GXM_TEXTURE_FORMAT_YVYU = SCE_GXM_TEXTURE_FORMAT_YVYU422_CSC0, + SCE_GXM_TEXTURE_FORMAT_UBC1 = SCE_GXM_TEXTURE_FORMAT_UBC1_ABGR, + SCE_GXM_TEXTURE_FORMAT_UBC2 = SCE_GXM_TEXTURE_FORMAT_UBC2_ABGR, + SCE_GXM_TEXTURE_FORMAT_UBC3 = SCE_GXM_TEXTURE_FORMAT_UBC3_ABGR, + SCE_GXM_TEXTURE_FORMAT_PVRT2BPP = SCE_GXM_TEXTURE_FORMAT_PVRT2BPP_ABGR, + SCE_GXM_TEXTURE_FORMAT_PVRT4BPP = SCE_GXM_TEXTURE_FORMAT_PVRT4BPP_ABGR, + SCE_GXM_TEXTURE_FORMAT_PVRTII2BPP = SCE_GXM_TEXTURE_FORMAT_PVRTII2BPP_ABGR, + SCE_GXM_TEXTURE_FORMAT_PVRTII4BPP = SCE_GXM_TEXTURE_FORMAT_PVRTII4BPP_ABGR +}; + +enum SceGxmTextureAnisoMode : u32 +{ + SCE_GXM_TEXTURE_ANISO_DISABLED = 0x00000000u, + SCE_GXM_TEXTURE_ANISO_ENABLED = 0x00004000u +}; + +enum SceGxmTextureType : u32 +{ + SCE_GXM_TEXTURE_SWIZZLED = 0x00000000u, + SCE_GXM_TEXTURE_CUBE = 0x40000000u, + SCE_GXM_TEXTURE_LINEAR = 0x60000000u, + SCE_GXM_TEXTURE_TILED = 0x80000000u, + SCE_GXM_TEXTURE_LINEAR_STRIDED = 0xc0000000u +}; + +enum SceGxmTextureFilter : u32 +{ + SCE_GXM_TEXTURE_FILTER_POINT = 0x00000000u, + SCE_GXM_TEXTURE_FILTER_LINEAR = 0x00000001u, + SCE_GXM_TEXTURE_FILTER_ANISO_LINEAR = 0x00000002u, + SCE_GXM_TEXTURE_FILTER_ANISO_POINT = 0x00000003u +}; + +enum SceGxmTextureMipFilter : u32 +{ + SCE_GXM_TEXTURE_MIP_FILTER_DISABLED = 0x00000000u, + SCE_GXM_TEXTURE_MIP_FILTER_ENABLED = 0x00000200u +}; + +enum SceGxmTextureAddrMode : u32 +{ + SCE_GXM_TEXTURE_ADDR_REPEAT = 0x00000000u, + SCE_GXM_TEXTURE_ADDR_MIRROR = 0x00000001u, + SCE_GXM_TEXTURE_ADDR_CLAMP = 0x00000002u, + SCE_GXM_TEXTURE_ADDR_MIRROR_CLAMP = 0x00000003u, + SCE_GXM_TEXTURE_ADDR_REPEAT_IGNORE_BORDER = 0x00000004u, + SCE_GXM_TEXTURE_ADDR_CLAMP_FULL_BORDER = 0x00000005u, + SCE_GXM_TEXTURE_ADDR_CLAMP_IGNORE_BORDER = 0x00000006u, + SCE_GXM_TEXTURE_ADDR_CLAMP_HALF_BORDER = 0x00000007u +}; + +enum SceGxmTextureGammaMode : u32 +{ + SCE_GXM_TEXTURE_GAMMA_NONE = 0x00000000u, + SCE_GXM_TEXTURE_GAMMA_R = 0x08000000u, + SCE_GXM_TEXTURE_GAMMA_GR = 0x18000000u, + SCE_GXM_TEXTURE_GAMMA_BGR = 0x08000000u +}; + +enum SceGxmIndexFormat : u32 +{ + SCE_GXM_INDEX_FORMAT_U16 = 0x00000000u, + SCE_GXM_INDEX_FORMAT_U32 = 0x01000000u +}; + +enum SceGxmIndexSource : u16 +{ + SCE_GXM_INDEX_SOURCE_INDEX_16BIT = 0x00000000u, + SCE_GXM_INDEX_SOURCE_INDEX_32BIT = 0x00000001u, + SCE_GXM_INDEX_SOURCE_INSTANCE_16BIT = 0x00000002u, + SCE_GXM_INDEX_SOURCE_INSTANCE_32BIT = 0x00000003u +}; + +enum SceGxmFragmentProgramMode : u32 +{ + SCE_GXM_FRAGMENT_PROGRAM_DISABLED = 0x00200000u, + SCE_GXM_FRAGMENT_PROGRAM_ENABLED = 0x00000000u +}; + +enum SceGxmDepthWriteMode : u32 +{ + SCE_GXM_DEPTH_WRITE_DISABLED = 0x00100000u, + SCE_GXM_DEPTH_WRITE_ENABLED = 0x00000000u +}; + +enum SceGxmLineFillLastPixelMode : u32 +{ + SCE_GXM_LINE_FILL_LAST_PIXEL_DISABLED = 0x00000000u, + SCE_GXM_LINE_FILL_LAST_PIXEL_ENABLED = 0x00080000u +}; + +enum SceGxmTwoSidedMode : u32 +{ + SCE_GXM_TWO_SIDED_DISABLED = 0x00000000u, + SCE_GXM_TWO_SIDED_ENABLED = 0x00000800u +}; + +enum SceGxmWClampMode : u32 +{ + SCE_GXM_WCLAMP_MODE_DISABLED = 0x00000000u, + SCE_GXM_WCLAMP_MODE_ENABLED = 0x00008000u +}; + +enum SceGxmViewportMode : u32 +{ + SCE_GXM_VIEWPORT_DISABLED = 0x00010000u, + SCE_GXM_VIEWPORT_ENABLED = 0x00000000u +}; + +enum SceGxmWBufferMode : u32 +{ + SCE_GXM_WBUFFER_DISABLED = 0x00000000u, + SCE_GXM_WBUFFER_ENABLED = 0x00004000u +}; + +enum SceGxmDepthStencilForceLoadMode : u32 +{ + SCE_GXM_DEPTH_STENCIL_FORCE_LOAD_DISABLED = 0x00000000u, + SCE_GXM_DEPTH_STENCIL_FORCE_LOAD_ENABLED = 0x00000002u +}; + +enum SceGxmDepthStencilForceStoreMode : u32 +{ + SCE_GXM_DEPTH_STENCIL_FORCE_STORE_DISABLED = 0x00000000u, + SCE_GXM_DEPTH_STENCIL_FORCE_STORE_ENABLED = 0x00000004u +}; + +enum SceGxmSceneFlags : u32 +{ + SCE_GXM_SCENE_FRAGMENT_SET_DEPENDENCY = 0x00000001u, + SCE_GXM_SCENE_VERTEX_WAIT_FOR_DEPENDENCY = 0x00000002u +}; + +enum SceGxmMidSceneFlags : u32 +{ + SCE_GXM_MIDSCENE_PRESERVE_DEFAULT_UNIFORM_BUFFERS = 0x00000001u +}; + +enum SceGxmColorSurfaceScaleMode : u32 +{ + SCE_GXM_COLOR_SURFACE_SCALE_NONE = 0x00000000u, + SCE_GXM_COLOR_SURFACE_SCALE_MSAA_DOWNSCALE = 0x00000001u +}; + +enum SceGxmOutputRegisterSize : u32 +{ + SCE_GXM_OUTPUT_REGISTER_SIZE_32BIT = 0x00000000u, + SCE_GXM_OUTPUT_REGISTER_SIZE_64BIT = 0x00000001u +}; + +enum SceGxmVisibilityTestMode : u32 +{ + SCE_GXM_VISIBILITY_TEST_DISABLED = 0x00000000u, + SCE_GXM_VISIBILITY_TEST_ENABLED = 0x00004000u +}; + +enum SceGxmVisibilityTestOp : u32 +{ + SCE_GXM_VISIBILITY_TEST_OP_INCREMENT = 0x00000000u, + SCE_GXM_VISIBILITY_TEST_OP_SET = 0x00040000u +}; + +enum SceGxmBlendFunc : u8 +{ + SCE_GXM_BLEND_FUNC_NONE, + SCE_GXM_BLEND_FUNC_ADD, + SCE_GXM_BLEND_FUNC_SUBTRACT, + SCE_GXM_BLEND_FUNC_REVERSE_SUBTRACT +}; + +enum SceGxmBlendFactor : u8 +{ + SCE_GXM_BLEND_FACTOR_ZERO, + SCE_GXM_BLEND_FACTOR_ONE, + SCE_GXM_BLEND_FACTOR_SRC_COLOR, + SCE_GXM_BLEND_FACTOR_ONE_MINUS_SRC_COLOR, + SCE_GXM_BLEND_FACTOR_SRC_ALPHA, + SCE_GXM_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA, + SCE_GXM_BLEND_FACTOR_DST_COLOR, + SCE_GXM_BLEND_FACTOR_ONE_MINUS_DST_COLOR, + SCE_GXM_BLEND_FACTOR_DST_ALPHA, + SCE_GXM_BLEND_FACTOR_ONE_MINUS_DST_ALPHA, + SCE_GXM_BLEND_FACTOR_SRC_ALPHA_SATURATE, + SCE_GXM_BLEND_FACTOR_DST_ALPHA_SATURATE +}; + +enum SceGxmColorMask : u8 +{ + SCE_GXM_COLOR_MASK_NONE = 0, + SCE_GXM_COLOR_MASK_A = (1 << 0), + SCE_GXM_COLOR_MASK_R = (1 << 1), + SCE_GXM_COLOR_MASK_G = (1 << 2), + SCE_GXM_COLOR_MASK_B = (1 << 3), + SCE_GXM_COLOR_MASK_ALL = (SCE_GXM_COLOR_MASK_A | SCE_GXM_COLOR_MASK_B | SCE_GXM_COLOR_MASK_G | SCE_GXM_COLOR_MASK_R) +}; + +struct SceGxmBlendInfo +{ + SceGxmColorMask colorMask; + SceGxmBlendFunc colorFunc : 4; + SceGxmBlendFunc alphaFunc : 4; + SceGxmBlendFactor colorSrc : 4; + SceGxmBlendFactor colorDst : 4; + SceGxmBlendFactor alphaSrc : 4; + SceGxmBlendFactor alphaDst : 4; +}; + +struct SceGxmRenderTarget; + +struct SceGxmSyncObject; + +struct SceGxmVertexAttribute +{ + u16 streamIndex; + u16 offset; + SceGxmAttributeFormat format; + u8 componentCount; + u16 regIndex; +}; + +struct SceGxmVertexStream +{ + u16 stride; + u16 indexSource; +}; + +struct SceGxmTexture +{ + u32 controlWords[4]; +}; + +struct SceGxmColorSurface +{ + u32 pbeSidebandWord; + u32 pbeEmitWords[6]; + u32 outputRegisterSize; + SceGxmTexture backgroundTex; +}; + +struct SceGxmDepthStencilSurface +{ + u32 zlsControl; + vm::psv::ptr depthData; + vm::psv::ptr stencilData; + float backgroundDepth; + u32 backgroundControl; +}; + +struct SceGxmAuxiliarySurface +{ + SceGxmColorFormat colorFormat; + SceGxmColorSurfaceType type; + u32 width; + u32 height; + u32 stride; + vm::psv::ptr data; +}; + +struct SceGxmNotification +{ + vm::psv::ptr address; + u32 value; +}; + +struct SceGxmValidRegion +{ + u32 xMin; + u32 yMin; + u32 xMax; + u32 yMax; +}; + +struct SceGxmContext; + +enum +{ + SCE_GXM_MINIMUM_CONTEXT_HOST_MEM_SIZE = 2048, + SCE_GXM_DEFAULT_VDM_RING_BUFFER_SIZE = (128 * 1024), + SCE_GXM_DEFAULT_VERTEX_RING_BUFFER_SIZE = (2 * 1024 * 1024), + SCE_GXM_DEFAULT_FRAGMENT_RING_BUFFER_SIZE = (512 * 1024), + SCE_GXM_DEFAULT_FRAGMENT_USSE_RING_BUFFER_SIZE = (16 * 1024), +}; + +struct SceGxmContextParams +{ + vm::psv::ptr hostMem; + u32 hostMemSize; + vm::psv::ptr vdmRingBufferMem; + u32 vdmRingBufferMemSize; + vm::psv::ptr vertexRingBufferMem; + u32 vertexRingBufferMemSize; + vm::psv::ptr fragmentRingBufferMem; + u32 fragmentRingBufferMemSize; + vm::psv::ptr fragmentUsseRingBufferMem; + u32 fragmentUsseRingBufferMemSize; + u32 fragmentUsseRingBufferOffset; +}; + +struct SceGxmVertexProgram; + +struct SceGxmFragmentProgram; + +enum +{ + SCE_GXM_PRECOMPUTED_VERTEX_STATE_WORD_COUNT = 7, + SCE_GXM_PRECOMPUTED_FRAGMENT_STATE_WORD_COUNT = 9, + SCE_GXM_PRECOMPUTED_DRAW_WORD_COUNT = 11, +}; + +struct SceGxmPrecomputedVertexState +{ + u32 data[SCE_GXM_PRECOMPUTED_VERTEX_STATE_WORD_COUNT]; +}; + +struct SceGxmPrecomputedFragmentState +{ + u32 data[SCE_GXM_PRECOMPUTED_FRAGMENT_STATE_WORD_COUNT]; +}; + +struct SceGxmPrecomputedDraw +{ + u32 data[SCE_GXM_PRECOMPUTED_DRAW_WORD_COUNT]; +}; + +enum : u32 +{ + SCE_GXM_MAX_VERTEX_ATTRIBUTES = 16, + SCE_GXM_MAX_VERTEX_STREAMS = 4, + SCE_GXM_MAX_TEXTURE_UNITS = 16, + SCE_GXM_MAX_UNIFORM_BUFFERS = 8, + SCE_GXM_MAX_AUXILIARY_SURFACES = 3, +}; + +struct SceGxmProgram; + +struct SceGxmProgramParameter; + +enum SceGxmProgramType : s32 +{ + SCE_GXM_VERTEX_PROGRAM, + SCE_GXM_FRAGMENT_PROGRAM +}; + +enum SceGxmParameterCategory : s32 +{ + SCE_GXM_PARAMETER_CATEGORY_ATTRIBUTE, + SCE_GXM_PARAMETER_CATEGORY_UNIFORM, + SCE_GXM_PARAMETER_CATEGORY_SAMPLER, + SCE_GXM_PARAMETER_CATEGORY_AUXILIARY_SURFACE, + SCE_GXM_PARAMETER_CATEGORY_UNIFORM_BUFFER +}; + +enum SceGxmParameterType : s32 +{ + SCE_GXM_PARAMETER_TYPE_F32, + SCE_GXM_PARAMETER_TYPE_F16, + SCE_GXM_PARAMETER_TYPE_C10, + SCE_GXM_PARAMETER_TYPE_U32, + SCE_GXM_PARAMETER_TYPE_S32, + SCE_GXM_PARAMETER_TYPE_U16, + SCE_GXM_PARAMETER_TYPE_S16, + SCE_GXM_PARAMETER_TYPE_U8, + SCE_GXM_PARAMETER_TYPE_S8, + SCE_GXM_PARAMETER_TYPE_AGGREGATE +}; + +enum SceGxmParameterSemantic : s32 +{ + SCE_GXM_PARAMETER_SEMANTIC_NONE, + SCE_GXM_PARAMETER_SEMANTIC_ATTR, + SCE_GXM_PARAMETER_SEMANTIC_BCOL, + SCE_GXM_PARAMETER_SEMANTIC_BINORMAL, + SCE_GXM_PARAMETER_SEMANTIC_BLENDINDICES, + SCE_GXM_PARAMETER_SEMANTIC_BLENDWEIGHT, + SCE_GXM_PARAMETER_SEMANTIC_COLOR, + SCE_GXM_PARAMETER_SEMANTIC_DIFFUSE, + SCE_GXM_PARAMETER_SEMANTIC_FOGCOORD, + SCE_GXM_PARAMETER_SEMANTIC_NORMAL, + SCE_GXM_PARAMETER_SEMANTIC_POINTSIZE, + SCE_GXM_PARAMETER_SEMANTIC_POSITION, + SCE_GXM_PARAMETER_SEMANTIC_SPECULAR, + SCE_GXM_PARAMETER_SEMANTIC_TANGENT, + SCE_GXM_PARAMETER_SEMANTIC_TEXCOORD +}; + +struct SceGxmShaderPatcher; + +struct SceGxmRegisteredProgram; + +typedef vm::psv::ptr SceGxmShaderPatcherId; + +typedef vm::psv::ptr(SceGxmShaderPatcherHostAllocCallback)(vm::psv::ptr userData, u32 size); +typedef void(SceGxmShaderPatcherHostFreeCallback)(vm::psv::ptr userData, vm::psv::ptr mem); +typedef vm::psv::ptr(SceGxmShaderPatcherBufferAllocCallback)(vm::psv::ptr userData, u32 size); +typedef void(SceGxmShaderPatcherBufferFreeCallback)(vm::psv::ptr userData, vm::psv::ptr mem); +typedef vm::psv::ptr(SceGxmShaderPatcherUsseAllocCallback)(vm::psv::ptr userData, u32 size, vm::psv::ptr usseOffset); +typedef void(SceGxmShaderPatcherUsseFreeCallback)(vm::psv::ptr userData, vm::psv::ptr mem); + +struct SceGxmShaderPatcherParams +{ + vm::psv::ptr userData; + vm::psv::ptr hostAllocCallback; + vm::psv::ptr hostFreeCallback; + vm::psv::ptr bufferAllocCallback; + vm::psv::ptr bufferFreeCallback; + vm::psv::ptr bufferMem; + u32 bufferMemSize; + vm::psv::ptr vertexUsseAllocCallback; + vm::psv::ptr vertexUsseFreeCallback; + vm::psv::ptr vertexUsseMem; + u32 vertexUsseMemSize; + u32 vertexUsseOffset; + vm::psv::ptr fragmentUsseAllocCallback; + vm::psv::ptr fragmentUsseFreeCallback; + vm::psv::ptr fragmentUsseMem; + u32 fragmentUsseMemSize; + u32 fragmentUsseOffset; +}; + +enum SceGxmRenderTargetFlags : u32 +{ + SCE_GXM_RENDER_TARGET_CUSTOM_MULTISAMPLE_LOCATIONS = 1 << 0, +}; + +struct SceGxmRenderTargetParams +{ + SceGxmRenderTargetFlags flags; + u16 width; + u16 height; + u16 scenesPerFrame; + SceGxmMultisampleMode multisampleMode; + u32 multisampleLocations; + vm::psv::ptr hostMem; + u32 hostMemSize; + s32 driverMemBlock; +}; + +extern psv_log_base sceGxm; diff --git a/rpcs3/Emu/ARMv7/PSVFuncList.cpp b/rpcs3/Emu/ARMv7/PSVFuncList.cpp index b011da905b..4ca94b42a6 100644 --- a/rpcs3/Emu/ARMv7/PSVFuncList.cpp +++ b/rpcs3/Emu/ARMv7/PSVFuncList.cpp @@ -51,6 +51,9 @@ extern psv_log_base sceLibKernel; extern psv_log_base sceSysmodule; extern psv_log_base scePerf; extern psv_log_base sceCtrl; +extern psv_log_base sceDeci4p; +extern psv_log_base sceDisplay; +extern psv_log_base sceGxm; void initialize_psv_modules() { @@ -64,6 +67,9 @@ void initialize_psv_modules() g_psv_modules.push_back(&sceSysmodule); g_psv_modules.push_back(&scePerf); g_psv_modules.push_back(&sceCtrl); + g_psv_modules.push_back(&sceDeci4p); + g_psv_modules.push_back(&sceDisplay); + g_psv_modules.push_back(&sceGxm); // setup special functions (without NIDs) psv_func unimplemented;