Added sceGxmTransferDownscale for mipmap generation.
@@ -956,6 +956,30 @@ typedef enum SceGxmColorMask {
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)
} SceGxmColorMask;
+typedef enum SceGxmTransferFormat {
+ SCE_GXM_TRANSFER_FORMAT_U8_R = 0x00000000u,
+ SCE_GXM_TRANSFER_FORMAT_U4U4U4U4_ABGR = 0x00010000u,
+ SCE_GXM_TRANSFER_FORMAT_U1U5U5U5_ABGR = 0x00020000u,
+ SCE_GXM_TRANSFER_FORMAT_U5U6U5_BGR = 0x00030000u,
+ SCE_GXM_TRANSFER_FORMAT_U8U8_GR = 0x00040000u,
+ SCE_GXM_TRANSFER_FORMAT_U8U8U8_BGR = 0x00050000u,
+ SCE_GXM_TRANSFER_FORMAT_U8U8U8U8_ABGR = 0x00060000u,
+ SCE_GXM_TRANSFER_FORMAT_VYUY422 = 0x00070000u,
+ SCE_GXM_TRANSFER_FORMAT_YVYU422 = 0x00080000u,
+ SCE_GXM_TRANSFER_FORMAT_UYVY422 = 0x00090000u,
+ SCE_GXM_TRANSFER_FORMAT_YUYV422 = 0x000a0000u,
+ SCE_GXM_TRANSFER_FORMAT_U2U10U10U10_ABGR = 0x000d0000u,
+ SCE_GXM_TRANSFER_FORMAT_RAW16 = 0x000f0000u,
+ SCE_GXM_TRANSFER_FORMAT_RAW32 = 0x00110000u,
+ SCE_GXM_TRANSFER_FORMAT_RAW64 = 0x00120000u,
+ SCE_GXM_TRANSFER_FORMAT_RAW128 = 0x00130000u
+} SceGxmTransferFormat;
+
+typedef enum SceGxmTransferFlags {
+ SCE_GXM_TRANSFER_FRAGMENT_SYNC = 0x00000001u,
+ SCE_GXM_TRANSFER_VERTEX_SYNC = 0x00000002u
+} SceGxmTransferFlags;
+
typedef struct SceGxmBlendInfo {
SceGxmColorMask colorMask;
SceGxmBlendFunc colorFunc : 4;
@@ -1444,6 +1468,8 @@ int sceGxmDestroyRenderTarget(SceGxmRenderTarget *renderTarget);
int sceGxmSetUniformDataF(void *uniformBuffer, const SceGxmProgramParameter *parameter, unsigned int componentOffset, unsigned int componentCount, const float *sourceData);
+int sceGxmTransferDownscale(SceGxmTransferFormat srcFormat, const void *srcAddress, unsigned int srcX, unsigned int srcY, unsigned int srcWidth, unsigned int srcHeight, int srcStride, SceGxmTransferFormat destFormat, void *destAddress, unsigned int destX, unsigned int destY, int destStride, SceGxmSyncObject *syncObject, unsigned int syncFlags, const SceGxmNotification* notification);
+
#ifdef __cplusplus
}
#endif
