| /********************************************************************** |
| * |
| * Copyright (C) Imagination Technologies Ltd. All rights reserved. |
| * |
| * This program is free software; you can redistribute it and/or modify it |
| * under the terms and conditions of the GNU General Public License, |
| * version 2, as published by the Free Software Foundation. |
| * |
| * This program is distributed in the hope it will be useful but, except |
| * as otherwise stated in writing, without any warranty; without even the |
| * implied warranty of merchantability or fitness for a particular purpose. |
| * See the GNU General Public License for more details. |
| * |
| * You should have received a copy of the GNU General Public License along with |
| * this program; if not, write to the Free Software Foundation, Inc., |
| * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. |
| * |
| * The full GNU General Public License is included in this distribution in |
| * the file called "COPYING". |
| * |
| * Contact Information: |
| * Imagination Technologies Ltd. <gpl-support@imgtec.com> |
| * Home Park Estate, Kings Langley, Herts, WD4 8LZ, UK |
| * |
| ******************************************************************************/ |
| |
| #if !defined (__SERVICESEXT_H__) |
| #define __SERVICESEXT_H__ |
| |
| #define PVRSRV_LOCKFLG_READONLY (1) |
| |
| typedef enum _PVRSRV_ERROR_ |
| { |
| PVRSRV_OK = 0, |
| PVRSRV_ERROR_OUT_OF_MEMORY, |
| PVRSRV_ERROR_TOO_FEW_BUFFERS, |
| PVRSRV_ERROR_INVALID_PARAMS, |
| PVRSRV_ERROR_INIT_FAILURE, |
| PVRSRV_ERROR_CANT_REGISTER_CALLBACK, |
| PVRSRV_ERROR_INVALID_DEVICE, |
| PVRSRV_ERROR_NOT_OWNER, |
| PVRSRV_ERROR_BAD_MAPPING, |
| PVRSRV_ERROR_TIMEOUT, |
| PVRSRV_ERROR_FLIP_CHAIN_EXISTS, |
| PVRSRV_ERROR_INVALID_SWAPINTERVAL, |
| PVRSRV_ERROR_SCENE_INVALID, |
| PVRSRV_ERROR_STREAM_ERROR, |
| PVRSRV_ERROR_FAILED_DEPENDENCIES, |
| PVRSRV_ERROR_CMD_NOT_PROCESSED, |
| PVRSRV_ERROR_CMD_TOO_BIG, |
| PVRSRV_ERROR_DEVICE_REGISTER_FAILED, |
| PVRSRV_ERROR_TOOMANYBUFFERS, |
| PVRSRV_ERROR_NOT_SUPPORTED, |
| PVRSRV_ERROR_PROCESSING_BLOCKED, |
| |
| PVRSRV_ERROR_CANNOT_FLUSH_QUEUE, |
| PVRSRV_ERROR_CANNOT_GET_QUEUE_SPACE, |
| PVRSRV_ERROR_CANNOT_GET_RENDERDETAILS, |
| PVRSRV_ERROR_RETRY, |
| |
| PVRSRV_ERROR_DDK_VERSION_MISMATCH, |
| PVRSRV_ERROR_BUILD_MISMATCH, |
| PVRSRV_ERROR_CORE_REVISION_MISMATCH, |
| |
| PVRSRV_ERROR_UPLOAD_TOO_BIG, |
| |
| PVRSRV_ERROR_INVALID_FLAGS, |
| PVRSRV_ERROR_FAILED_TO_REGISTER_PROCESS, |
| |
| PVRSRV_ERROR_UNABLE_TO_LOAD_LIBRARY, |
| PVRSRV_ERROR_UNABLE_GET_FUNC_ADDR, |
| PVRSRV_ERROR_UNLOAD_LIBRARY_FAILED, |
| |
| PVRSRV_ERROR_BRIDGE_CALL_FAILED, |
| PVRSRV_ERROR_IOCTL_CALL_FAILED, |
| |
| PVRSRV_ERROR_MMU_CONTEXT_NOT_FOUND, |
| PVRSRV_ERROR_BUFFER_DEVICE_NOT_FOUND, |
| PVRSRV_ERROR_BUFFER_DEVICE_ALREADY_PRESENT, |
| |
| PVRSRV_ERROR_PCI_DEVICE_NOT_FOUND, |
| PVRSRV_ERROR_PCI_CALL_FAILED, |
| PVRSRV_ERROR_PCI_REGION_TOO_SMALL, |
| PVRSRV_ERROR_PCI_REGION_UNAVAILABLE, |
| PVRSRV_ERROR_BAD_REGION_SIZE_MISMATCH, |
| |
| PVRSRV_ERROR_REGISTER_BASE_NOT_SET, |
| |
| PVRSRV_ERROR_BM_BAD_SHAREMEM_HANDLE, |
| |
| PVRSRV_ERROR_FAILED_TO_ALLOC_USER_MEM, |
| PVRSRV_ERROR_FAILED_TO_ALLOC_VP_MEMORY, |
| PVRSRV_ERROR_FAILED_TO_MAP_SHARED_PBDESC, |
| PVRSRV_ERROR_FAILED_TO_GET_PHYS_ADDR, |
| |
| PVRSRV_ERROR_FAILED_TO_ALLOC_VIRT_MEMORY, |
| PVRSRV_ERROR_FAILED_TO_COPY_VIRT_MEMORY, |
| |
| PVRSRV_ERROR_FAILED_TO_ALLOC_PAGES, |
| PVRSRV_ERROR_FAILED_TO_FREE_PAGES, |
| PVRSRV_ERROR_FAILED_TO_COPY_PAGES, |
| PVRSRV_ERROR_UNABLE_TO_LOCK_PAGES, |
| PVRSRV_ERROR_UNABLE_TO_UNLOCK_PAGES, |
| PVRSRV_ERROR_STILL_MAPPED, |
| PVRSRV_ERROR_MAPPING_NOT_FOUND, |
| PVRSRV_ERROR_PHYS_ADDRESS_EXCEEDS_32BIT, |
| PVRSRV_ERROR_FAILED_TO_MAP_PAGE_TABLE, |
| |
| PVRSRV_ERROR_INVALID_SEGMENT_BLOCK, |
| PVRSRV_ERROR_INVALID_SGXDEVDATA, |
| PVRSRV_ERROR_INVALID_DEVINFO, |
| PVRSRV_ERROR_INVALID_MEMINFO, |
| PVRSRV_ERROR_INVALID_MISCINFO, |
| PVRSRV_ERROR_UNKNOWN_IOCTL, |
| PVRSRV_ERROR_INVALID_CONTEXT, |
| PVRSRV_ERROR_UNABLE_TO_DESTROY_CONTEXT, |
| PVRSRV_ERROR_INVALID_HEAP, |
| PVRSRV_ERROR_INVALID_KERNELINFO, |
| PVRSRV_ERROR_UNKNOWN_POWER_STATE, |
| PVRSRV_ERROR_INVALID_HANDLE_TYPE, |
| PVRSRV_ERROR_INVALID_WRAP_TYPE, |
| PVRSRV_ERROR_INVALID_PHYS_ADDR, |
| PVRSRV_ERROR_INVALID_CPU_ADDR, |
| PVRSRV_ERROR_INVALID_HEAPINFO, |
| PVRSRV_ERROR_INVALID_PERPROC, |
| PVRSRV_ERROR_FAILED_TO_RETRIEVE_HEAPINFO, |
| PVRSRV_ERROR_INVALID_MAP_REQUEST, |
| PVRSRV_ERROR_INVALID_UNMAP_REQUEST, |
| PVRSRV_ERROR_UNABLE_TO_FIND_MAPPING_HEAP, |
| PVRSRV_ERROR_MAPPING_STILL_IN_USE, |
| |
| PVRSRV_ERROR_EXCEEDED_HW_LIMITS, |
| PVRSRV_ERROR_NO_STAGING_BUFFER_ALLOCATED, |
| |
| PVRSRV_ERROR_UNABLE_TO_CREATE_PERPROC_AREA, |
| PVRSRV_ERROR_UNABLE_TO_CREATE_EVENT, |
| PVRSRV_ERROR_UNABLE_TO_ENABLE_EVENT, |
| PVRSRV_ERROR_UNABLE_TO_REGISTER_EVENT, |
| PVRSRV_ERROR_UNABLE_TO_DESTROY_EVENT, |
| PVRSRV_ERROR_UNABLE_TO_CREATE_THREAD, |
| PVRSRV_ERROR_UNABLE_TO_CLOSE_THREAD, |
| PVRSRV_ERROR_THREAD_READ_ERROR, |
| PVRSRV_ERROR_UNABLE_TO_REGISTER_ISR_HANDLER, |
| PVRSRV_ERROR_UNABLE_TO_INSTALL_ISR, |
| PVRSRV_ERROR_UNABLE_TO_UNINSTALL_ISR, |
| PVRSRV_ERROR_ISR_ALREADY_INSTALLED, |
| PVRSRV_ERROR_ISR_NOT_INSTALLED, |
| PVRSRV_ERROR_UNABLE_TO_INITIALISE_INTERRUPT, |
| PVRSRV_ERROR_UNABLE_TO_RETRIEVE_INFO, |
| PVRSRV_ERROR_UNABLE_TO_DO_BACKWARDS_BLIT, |
| PVRSRV_ERROR_UNABLE_TO_CLOSE_SERVICES, |
| PVRSRV_ERROR_UNABLE_TO_REGISTER_CONTEXT, |
| PVRSRV_ERROR_UNABLE_TO_REGISTER_RESOURCE, |
| PVRSRV_ERROR_UNABLE_TO_CLOSE_HANDLE, |
| |
| PVRSRV_ERROR_INVALID_CCB_COMMAND, |
| |
| PVRSRV_ERROR_UNABLE_TO_LOCK_RESOURCE, |
| PVRSRV_ERROR_INVALID_LOCK_ID, |
| PVRSRV_ERROR_RESOURCE_NOT_LOCKED, |
| |
| PVRSRV_ERROR_FLIP_FAILED, |
| PVRSRV_ERROR_UNBLANK_DISPLAY_FAILED, |
| |
| PVRSRV_ERROR_TIMEOUT_POLLING_FOR_VALUE, |
| |
| PVRSRV_ERROR_CREATE_RENDER_CONTEXT_FAILED, |
| PVRSRV_ERROR_UNKNOWN_PRIMARY_FRAG, |
| PVRSRV_ERROR_UNEXPECTED_SECONDARY_FRAG, |
| PVRSRV_ERROR_UNEXPECTED_PRIMARY_FRAG, |
| |
| PVRSRV_ERROR_UNABLE_TO_INSERT_FENCE_ID, |
| |
| PVRSRV_ERROR_BLIT_SETUP_FAILED, |
| |
| PVRSRV_ERROR_PDUMP_NOT_AVAILABLE, |
| PVRSRV_ERROR_PDUMP_BUFFER_FULL, |
| PVRSRV_ERROR_PDUMP_BUF_OVERFLOW, |
| PVRSRV_ERROR_PDUMP_NOT_ACTIVE, |
| PVRSRV_ERROR_INCOMPLETE_LINE_OVERLAPS_PAGES, |
| |
| PVRSRV_ERROR_MUTEX_DESTROY_FAILED, |
| PVRSRV_ERROR_MUTEX_INTERRUPTIBLE_ERROR, |
| |
| PVRSRV_ERROR_INSUFFICIENT_SCRIPT_SPACE, |
| PVRSRV_ERROR_INSUFFICIENT_SPACE_FOR_COMMAND, |
| |
| PVRSRV_ERROR_PROCESS_NOT_INITIALISED, |
| PVRSRV_ERROR_PROCESS_NOT_FOUND, |
| PVRSRV_ERROR_SRV_CONNECT_FAILED, |
| PVRSRV_ERROR_SRV_DISCONNECT_FAILED, |
| PVRSRV_ERROR_DEINT_PHASE_FAILED, |
| PVRSRV_ERROR_INIT2_PHASE_FAILED, |
| |
| PVRSRV_ERROR_UNABLE_TO_FIND_RESOURCE, |
| |
| PVRSRV_ERROR_NO_DC_DEVICES_FOUND, |
| PVRSRV_ERROR_UNABLE_TO_OPEN_DC_DEVICE, |
| PVRSRV_ERROR_UNABLE_TO_REMOVE_DEVICE, |
| PVRSRV_ERROR_NO_DEVICEDATA_FOUND, |
| PVRSRV_ERROR_NO_DEVICENODE_FOUND, |
| PVRSRV_ERROR_NO_CLIENTNODE_FOUND, |
| PVRSRV_ERROR_FAILED_TO_PROCESS_QUEUE, |
| |
| PVRSRV_ERROR_UNABLE_TO_INIT_TASK, |
| PVRSRV_ERROR_UNABLE_TO_SCHEDULE_TASK, |
| PVRSRV_ERROR_UNABLE_TO_KILL_TASK, |
| |
| PVRSRV_ERROR_UNABLE_TO_ENABLE_TIMER, |
| PVRSRV_ERROR_UNABLE_TO_DISABLE_TIMER, |
| PVRSRV_ERROR_UNABLE_TO_REMOVE_TIMER, |
| |
| PVRSRV_ERROR_UNKNOWN_PIXEL_FORMAT, |
| PVRSRV_ERROR_UNKNOWN_SCRIPT_OPERATION, |
| |
| PVRSRV_ERROR_HANDLE_INDEX_OUT_OF_RANGE, |
| PVRSRV_ERROR_HANDLE_NOT_ALLOCATED, |
| PVRSRV_ERROR_HANDLE_TYPE_MISMATCH, |
| PVRSRV_ERROR_UNABLE_TO_ADD_HANDLE, |
| PVRSRV_ERROR_HANDLE_NOT_SHAREABLE, |
| PVRSRV_ERROR_HANDLE_NOT_FOUND, |
| PVRSRV_ERROR_INVALID_SUBHANDLE, |
| PVRSRV_ERROR_HANDLE_BATCH_IN_USE, |
| PVRSRV_ERROR_HANDLE_BATCH_COMMIT_FAILURE, |
| |
| PVRSRV_ERROR_UNABLE_TO_CREATE_HASH_TABLE, |
| PVRSRV_ERROR_INSERT_HASH_TABLE_DATA_FAILED, |
| |
| PVRSRV_ERROR_UNSUPPORTED_BACKING_STORE, |
| PVRSRV_ERROR_UNABLE_TO_DESTROY_BM_HEAP, |
| |
| PVRSRV_ERROR_UNKNOWN_INIT_SERVER_STATE, |
| |
| PVRSRV_ERROR_NO_FREE_DEVICEIDS_AVALIABLE, |
| PVRSRV_ERROR_INVALID_DEVICEID, |
| PVRSRV_ERROR_DEVICEID_NOT_FOUND, |
| |
| PVRSRV_ERROR_MEMORY_TEST_FAILED, |
| PVRSRV_ERROR_CPUPADDR_TEST_FAILED, |
| PVRSRV_ERROR_COPY_TEST_FAILED, |
| |
| PVRSRV_ERROR_SEMAPHORE_NOT_INITIALISED, |
| |
| PVRSRV_ERROR_UNABLE_TO_RELEASE_CLOCK, |
| PVRSRV_ERROR_CLOCK_REQUEST_FAILED, |
| PVRSRV_ERROR_DISABLE_CLOCK_FAILURE, |
| PVRSRV_ERROR_UNABLE_TO_SET_CLOCK_RATE, |
| PVRSRV_ERROR_UNABLE_TO_ROUND_CLOCK_RATE, |
| PVRSRV_ERROR_UNABLE_TO_ENABLE_CLOCK, |
| PVRSRV_ERROR_UNABLE_TO_GET_CLOCK, |
| PVRSRV_ERROR_UNABLE_TO_GET_PARENT_CLOCK, |
| PVRSRV_ERROR_UNABLE_TO_GET_SYSTEM_CLOCK, |
| |
| PVRSRV_ERROR_UNKNOWN_SGL_ERROR, |
| |
| PVRSRV_ERROR_SYSTEM_POWER_CHANGE_FAILURE, |
| PVRSRV_ERROR_DEVICE_POWER_CHANGE_FAILURE, |
| |
| PVRSRV_ERROR_BAD_SYNC_STATE, |
| |
| PVRSRV_ERROR_CACHEOP_FAILED, |
| |
| PVRSRV_ERROR_FORCE_I32 = 0x7fffffff |
| |
| } PVRSRV_ERROR; |
| |
| |
| typedef enum _PVRSRV_DEVICE_CLASS_ |
| { |
| PVRSRV_DEVICE_CLASS_3D = 0 , |
| PVRSRV_DEVICE_CLASS_DISPLAY = 1 , |
| PVRSRV_DEVICE_CLASS_BUFFER = 2 , |
| PVRSRV_DEVICE_CLASS_VIDEO = 3 , |
| |
| PVRSRV_DEVICE_CLASS_FORCE_I32 = 0x7fffffff |
| |
| } PVRSRV_DEVICE_CLASS; |
| |
| |
| typedef enum _PVRSRV_SYS_POWER_STATE_ |
| { |
| PVRSRV_SYS_POWER_STATE_Unspecified = -1, |
| PVRSRV_SYS_POWER_STATE_D0 = 0, |
| PVRSRV_SYS_POWER_STATE_D1 = 1, |
| PVRSRV_SYS_POWER_STATE_D2 = 2, |
| PVRSRV_SYS_POWER_STATE_D3 = 3, |
| PVRSRV_SYS_POWER_STATE_D4 = 4, |
| |
| PVRSRV_SYS_POWER_STATE_FORCE_I32 = 0x7fffffff |
| |
| } PVRSRV_SYS_POWER_STATE, *PPVRSRV_SYS_POWER_STATE; |
| |
| |
| typedef enum _PVRSRV_DEV_POWER_STATE_ |
| { |
| PVRSRV_DEV_POWER_STATE_DEFAULT = -1, |
| PVRSRV_DEV_POWER_STATE_ON = 0, |
| PVRSRV_DEV_POWER_STATE_IDLE = 1, |
| PVRSRV_DEV_POWER_STATE_OFF = 2, |
| |
| PVRSRV_DEV_POWER_STATE_FORCE_I32 = 0x7fffffff |
| |
| } PVRSRV_DEV_POWER_STATE, *PPVRSRV_DEV_POWER_STATE; |
| |
| |
| typedef PVRSRV_ERROR (*PFN_PRE_POWER) (IMG_HANDLE hDevHandle, |
| PVRSRV_DEV_POWER_STATE eNewPowerState, |
| PVRSRV_DEV_POWER_STATE eCurrentPowerState); |
| typedef PVRSRV_ERROR (*PFN_POST_POWER) (IMG_HANDLE hDevHandle, |
| PVRSRV_DEV_POWER_STATE eNewPowerState, |
| PVRSRV_DEV_POWER_STATE eCurrentPowerState); |
| |
| typedef PVRSRV_ERROR (*PFN_PRE_CLOCKSPEED_CHANGE) (IMG_HANDLE hDevHandle, |
| IMG_BOOL bIdleDevice, |
| PVRSRV_DEV_POWER_STATE eCurrentPowerState); |
| typedef PVRSRV_ERROR (*PFN_POST_CLOCKSPEED_CHANGE) (IMG_HANDLE hDevHandle, |
| IMG_BOOL bIdleDevice, |
| PVRSRV_DEV_POWER_STATE eCurrentPowerState); |
| |
| |
| typedef enum _PVRSRV_PIXEL_FORMAT_ { |
| |
| PVRSRV_PIXEL_FORMAT_UNKNOWN = 0, |
| PVRSRV_PIXEL_FORMAT_RGB565 = 1, |
| PVRSRV_PIXEL_FORMAT_RGB555 = 2, |
| PVRSRV_PIXEL_FORMAT_RGB888 = 3, |
| PVRSRV_PIXEL_FORMAT_BGR888 = 4, |
| PVRSRV_PIXEL_FORMAT_GREY_SCALE = 8, |
| PVRSRV_PIXEL_FORMAT_PAL12 = 13, |
| PVRSRV_PIXEL_FORMAT_PAL8 = 14, |
| PVRSRV_PIXEL_FORMAT_PAL4 = 15, |
| PVRSRV_PIXEL_FORMAT_PAL2 = 16, |
| PVRSRV_PIXEL_FORMAT_PAL1 = 17, |
| PVRSRV_PIXEL_FORMAT_ARGB1555 = 18, |
| PVRSRV_PIXEL_FORMAT_ARGB4444 = 19, |
| PVRSRV_PIXEL_FORMAT_ARGB8888 = 20, |
| PVRSRV_PIXEL_FORMAT_ABGR8888 = 21, |
| PVRSRV_PIXEL_FORMAT_YV12 = 22, |
| PVRSRV_PIXEL_FORMAT_I420 = 23, |
| PVRSRV_PIXEL_FORMAT_IMC2 = 25, |
| PVRSRV_PIXEL_FORMAT_XRGB8888 = 26, |
| PVRSRV_PIXEL_FORMAT_XBGR8888 = 27, |
| PVRSRV_PIXEL_FORMAT_BGRA8888 = 28, |
| PVRSRV_PIXEL_FORMAT_XRGB4444 = 29, |
| PVRSRV_PIXEL_FORMAT_ARGB8332 = 30, |
| PVRSRV_PIXEL_FORMAT_A2RGB10 = 31, |
| PVRSRV_PIXEL_FORMAT_A2BGR10 = 32, |
| PVRSRV_PIXEL_FORMAT_P8 = 33, |
| PVRSRV_PIXEL_FORMAT_L8 = 34, |
| PVRSRV_PIXEL_FORMAT_A8L8 = 35, |
| PVRSRV_PIXEL_FORMAT_A4L4 = 36, |
| PVRSRV_PIXEL_FORMAT_L16 = 37, |
| PVRSRV_PIXEL_FORMAT_L6V5U5 = 38, |
| PVRSRV_PIXEL_FORMAT_V8U8 = 39, |
| PVRSRV_PIXEL_FORMAT_V16U16 = 40, |
| PVRSRV_PIXEL_FORMAT_QWVU8888 = 41, |
| PVRSRV_PIXEL_FORMAT_XLVU8888 = 42, |
| PVRSRV_PIXEL_FORMAT_QWVU16 = 43, |
| PVRSRV_PIXEL_FORMAT_D16 = 44, |
| PVRSRV_PIXEL_FORMAT_D24S8 = 45, |
| PVRSRV_PIXEL_FORMAT_D24X8 = 46, |
| |
| |
| PVRSRV_PIXEL_FORMAT_ABGR16 = 47, |
| PVRSRV_PIXEL_FORMAT_ABGR16F = 48, |
| PVRSRV_PIXEL_FORMAT_ABGR32 = 49, |
| PVRSRV_PIXEL_FORMAT_ABGR32F = 50, |
| PVRSRV_PIXEL_FORMAT_B10GR11 = 51, |
| PVRSRV_PIXEL_FORMAT_GR88 = 52, |
| PVRSRV_PIXEL_FORMAT_BGR32 = 53, |
| PVRSRV_PIXEL_FORMAT_GR32 = 54, |
| PVRSRV_PIXEL_FORMAT_E5BGR9 = 55, |
| |
| |
| PVRSRV_PIXEL_FORMAT_RESERVED1 = 56, |
| PVRSRV_PIXEL_FORMAT_RESERVED2 = 57, |
| PVRSRV_PIXEL_FORMAT_RESERVED3 = 58, |
| PVRSRV_PIXEL_FORMAT_RESERVED4 = 59, |
| PVRSRV_PIXEL_FORMAT_RESERVED5 = 60, |
| |
| |
| PVRSRV_PIXEL_FORMAT_R8G8_B8G8 = 61, |
| PVRSRV_PIXEL_FORMAT_G8R8_G8B8 = 62, |
| |
| |
| PVRSRV_PIXEL_FORMAT_NV11 = 63, |
| PVRSRV_PIXEL_FORMAT_NV12 = 64, |
| |
| |
| PVRSRV_PIXEL_FORMAT_YUY2 = 65, |
| PVRSRV_PIXEL_FORMAT_YUV420 = 66, |
| PVRSRV_PIXEL_FORMAT_YUV444 = 67, |
| PVRSRV_PIXEL_FORMAT_VUY444 = 68, |
| PVRSRV_PIXEL_FORMAT_YUYV = 69, |
| PVRSRV_PIXEL_FORMAT_YVYU = 70, |
| PVRSRV_PIXEL_FORMAT_UYVY = 71, |
| PVRSRV_PIXEL_FORMAT_VYUY = 72, |
| |
| PVRSRV_PIXEL_FORMAT_FOURCC_ORG_UYVY = 73, |
| PVRSRV_PIXEL_FORMAT_FOURCC_ORG_YUYV = 74, |
| PVRSRV_PIXEL_FORMAT_FOURCC_ORG_YVYU = 75, |
| PVRSRV_PIXEL_FORMAT_FOURCC_ORG_VYUY = 76, |
| PVRSRV_PIXEL_FORMAT_FOURCC_ORG_AYUV = 77, |
| |
| |
| PVRSRV_PIXEL_FORMAT_A32B32G32R32 = 78, |
| PVRSRV_PIXEL_FORMAT_A32B32G32R32F = 79, |
| PVRSRV_PIXEL_FORMAT_A32B32G32R32_UINT = 80, |
| PVRSRV_PIXEL_FORMAT_A32B32G32R32_SINT = 81, |
| |
| |
| PVRSRV_PIXEL_FORMAT_B32G32R32 = 82, |
| PVRSRV_PIXEL_FORMAT_B32G32R32F = 83, |
| PVRSRV_PIXEL_FORMAT_B32G32R32_UINT = 84, |
| PVRSRV_PIXEL_FORMAT_B32G32R32_SINT = 85, |
| |
| |
| PVRSRV_PIXEL_FORMAT_G32R32 = 86, |
| PVRSRV_PIXEL_FORMAT_G32R32F = 87, |
| PVRSRV_PIXEL_FORMAT_G32R32_UINT = 88, |
| PVRSRV_PIXEL_FORMAT_G32R32_SINT = 89, |
| |
| |
| PVRSRV_PIXEL_FORMAT_D32F = 90, |
| PVRSRV_PIXEL_FORMAT_R32 = 91, |
| PVRSRV_PIXEL_FORMAT_R32F = 92, |
| PVRSRV_PIXEL_FORMAT_R32_UINT = 93, |
| PVRSRV_PIXEL_FORMAT_R32_SINT = 94, |
| |
| |
| PVRSRV_PIXEL_FORMAT_A16B16G16R16 = 95, |
| PVRSRV_PIXEL_FORMAT_A16B16G16R16F = 96, |
| PVRSRV_PIXEL_FORMAT_A16B16G16R16_SINT = 97, |
| PVRSRV_PIXEL_FORMAT_A16B16G16R16_SNORM = 98, |
| PVRSRV_PIXEL_FORMAT_A16B16G16R16_UINT = 99, |
| PVRSRV_PIXEL_FORMAT_A16B16G16R16_UNORM = 100, |
| |
| |
| PVRSRV_PIXEL_FORMAT_G16R16 = 101, |
| PVRSRV_PIXEL_FORMAT_G16R16F = 102, |
| PVRSRV_PIXEL_FORMAT_G16R16_UINT = 103, |
| PVRSRV_PIXEL_FORMAT_G16R16_UNORM = 104, |
| PVRSRV_PIXEL_FORMAT_G16R16_SINT = 105, |
| PVRSRV_PIXEL_FORMAT_G16R16_SNORM = 106, |
| |
| |
| PVRSRV_PIXEL_FORMAT_R16 = 107, |
| PVRSRV_PIXEL_FORMAT_R16F = 108, |
| PVRSRV_PIXEL_FORMAT_R16_UINT = 109, |
| PVRSRV_PIXEL_FORMAT_R16_UNORM = 110, |
| PVRSRV_PIXEL_FORMAT_R16_SINT = 111, |
| PVRSRV_PIXEL_FORMAT_R16_SNORM = 112, |
| |
| |
| PVRSRV_PIXEL_FORMAT_X8R8G8B8 = 113, |
| PVRSRV_PIXEL_FORMAT_X8R8G8B8_UNORM = 114, |
| PVRSRV_PIXEL_FORMAT_X8R8G8B8_UNORM_SRGB = 115, |
| |
| PVRSRV_PIXEL_FORMAT_A8R8G8B8 = 116, |
| PVRSRV_PIXEL_FORMAT_A8R8G8B8_UNORM = 117, |
| PVRSRV_PIXEL_FORMAT_A8R8G8B8_UNORM_SRGB = 118, |
| |
| PVRSRV_PIXEL_FORMAT_A8B8G8R8 = 119, |
| PVRSRV_PIXEL_FORMAT_A8B8G8R8_UINT = 120, |
| PVRSRV_PIXEL_FORMAT_A8B8G8R8_UNORM = 121, |
| PVRSRV_PIXEL_FORMAT_A8B8G8R8_UNORM_SRGB = 122, |
| PVRSRV_PIXEL_FORMAT_A8B8G8R8_SINT = 123, |
| PVRSRV_PIXEL_FORMAT_A8B8G8R8_SNORM = 124, |
| |
| |
| PVRSRV_PIXEL_FORMAT_G8R8 = 125, |
| PVRSRV_PIXEL_FORMAT_G8R8_UINT = 126, |
| PVRSRV_PIXEL_FORMAT_G8R8_UNORM = 127, |
| PVRSRV_PIXEL_FORMAT_G8R8_SINT = 128, |
| PVRSRV_PIXEL_FORMAT_G8R8_SNORM = 129, |
| |
| |
| PVRSRV_PIXEL_FORMAT_A8 = 130, |
| PVRSRV_PIXEL_FORMAT_R8 = 131, |
| PVRSRV_PIXEL_FORMAT_R8_UINT = 132, |
| PVRSRV_PIXEL_FORMAT_R8_UNORM = 133, |
| PVRSRV_PIXEL_FORMAT_R8_SINT = 134, |
| PVRSRV_PIXEL_FORMAT_R8_SNORM = 135, |
| |
| |
| PVRSRV_PIXEL_FORMAT_A2B10G10R10 = 136, |
| PVRSRV_PIXEL_FORMAT_A2B10G10R10_UNORM = 137, |
| PVRSRV_PIXEL_FORMAT_A2B10G10R10_UINT = 138, |
| |
| |
| PVRSRV_PIXEL_FORMAT_B10G11R11 = 139, |
| PVRSRV_PIXEL_FORMAT_B10G11R11F = 140, |
| |
| |
| PVRSRV_PIXEL_FORMAT_X24G8R32 = 141, |
| PVRSRV_PIXEL_FORMAT_G8R24 = 142, |
| PVRSRV_PIXEL_FORMAT_X8R24 = 143, |
| PVRSRV_PIXEL_FORMAT_E5B9G9R9 = 144, |
| PVRSRV_PIXEL_FORMAT_R1 = 145, |
| |
| PVRSRV_PIXEL_FORMAT_RESERVED6 = 146, |
| PVRSRV_PIXEL_FORMAT_RESERVED7 = 147, |
| PVRSRV_PIXEL_FORMAT_RESERVED8 = 148, |
| PVRSRV_PIXEL_FORMAT_RESERVED9 = 149, |
| PVRSRV_PIXEL_FORMAT_RESERVED10 = 150, |
| PVRSRV_PIXEL_FORMAT_RESERVED11 = 151, |
| PVRSRV_PIXEL_FORMAT_RESERVED12 = 152, |
| PVRSRV_PIXEL_FORMAT_RESERVED13 = 153, |
| PVRSRV_PIXEL_FORMAT_RESERVED14 = 154, |
| PVRSRV_PIXEL_FORMAT_RESERVED15 = 155, |
| PVRSRV_PIXEL_FORMAT_RESERVED16 = 156, |
| PVRSRV_PIXEL_FORMAT_RESERVED17 = 157, |
| PVRSRV_PIXEL_FORMAT_RESERVED18 = 158, |
| PVRSRV_PIXEL_FORMAT_RESERVED19 = 159, |
| PVRSRV_PIXEL_FORMAT_RESERVED20 = 160, |
| |
| |
| PVRSRV_PIXEL_FORMAT_UBYTE4 = 161, |
| PVRSRV_PIXEL_FORMAT_SHORT4 = 162, |
| PVRSRV_PIXEL_FORMAT_SHORT4N = 163, |
| PVRSRV_PIXEL_FORMAT_USHORT4N = 164, |
| PVRSRV_PIXEL_FORMAT_SHORT2N = 165, |
| PVRSRV_PIXEL_FORMAT_SHORT2 = 166, |
| PVRSRV_PIXEL_FORMAT_USHORT2N = 167, |
| PVRSRV_PIXEL_FORMAT_UDEC3 = 168, |
| PVRSRV_PIXEL_FORMAT_DEC3N = 169, |
| PVRSRV_PIXEL_FORMAT_F16_2 = 170, |
| PVRSRV_PIXEL_FORMAT_F16_4 = 171, |
| |
| |
| PVRSRV_PIXEL_FORMAT_L_F16 = 172, |
| PVRSRV_PIXEL_FORMAT_L_F16_REP = 173, |
| PVRSRV_PIXEL_FORMAT_L_F16_A_F16 = 174, |
| PVRSRV_PIXEL_FORMAT_A_F16 = 175, |
| PVRSRV_PIXEL_FORMAT_B16G16R16F = 176, |
| |
| PVRSRV_PIXEL_FORMAT_L_F32 = 177, |
| PVRSRV_PIXEL_FORMAT_A_F32 = 178, |
| PVRSRV_PIXEL_FORMAT_L_F32_A_F32 = 179, |
| |
| |
| PVRSRV_PIXEL_FORMAT_PVRTC2 = 180, |
| PVRSRV_PIXEL_FORMAT_PVRTC4 = 181, |
| PVRSRV_PIXEL_FORMAT_PVRTCII2 = 182, |
| PVRSRV_PIXEL_FORMAT_PVRTCII4 = 183, |
| PVRSRV_PIXEL_FORMAT_PVRTCIII = 184, |
| PVRSRV_PIXEL_FORMAT_PVRO8 = 185, |
| PVRSRV_PIXEL_FORMAT_PVRO88 = 186, |
| PVRSRV_PIXEL_FORMAT_PT1 = 187, |
| PVRSRV_PIXEL_FORMAT_PT2 = 188, |
| PVRSRV_PIXEL_FORMAT_PT4 = 189, |
| PVRSRV_PIXEL_FORMAT_PT8 = 190, |
| PVRSRV_PIXEL_FORMAT_PTW = 191, |
| PVRSRV_PIXEL_FORMAT_PTB = 192, |
| PVRSRV_PIXEL_FORMAT_MONO8 = 193, |
| PVRSRV_PIXEL_FORMAT_MONO16 = 194, |
| |
| |
| PVRSRV_PIXEL_FORMAT_C0_YUYV = 195, |
| PVRSRV_PIXEL_FORMAT_C0_UYVY = 196, |
| PVRSRV_PIXEL_FORMAT_C0_YVYU = 197, |
| PVRSRV_PIXEL_FORMAT_C0_VYUY = 198, |
| PVRSRV_PIXEL_FORMAT_C1_YUYV = 199, |
| PVRSRV_PIXEL_FORMAT_C1_UYVY = 200, |
| PVRSRV_PIXEL_FORMAT_C1_YVYU = 201, |
| PVRSRV_PIXEL_FORMAT_C1_VYUY = 202, |
| |
| |
| PVRSRV_PIXEL_FORMAT_C0_YUV420_2P_UV = 203, |
| PVRSRV_PIXEL_FORMAT_C0_YUV420_2P_VU = 204, |
| PVRSRV_PIXEL_FORMAT_C0_YUV420_3P = 205, |
| PVRSRV_PIXEL_FORMAT_C1_YUV420_2P_UV = 206, |
| PVRSRV_PIXEL_FORMAT_C1_YUV420_2P_VU = 207, |
| PVRSRV_PIXEL_FORMAT_C1_YUV420_3P = 208, |
| |
| PVRSRV_PIXEL_FORMAT_A2B10G10R10F = 209, |
| PVRSRV_PIXEL_FORMAT_B8G8R8_SINT = 210, |
| PVRSRV_PIXEL_FORMAT_PVRF32SIGNMASK = 211, |
| |
| PVRSRV_PIXEL_FORMAT_ABGR4444 = 212, |
| PVRSRV_PIXEL_FORMAT_ABGR1555 = 213, |
| PVRSRV_PIXEL_FORMAT_BGR565 = 214, |
| |
| |
| PVRSRV_PIXEL_FORMAT_C0_4KYUV420_2P_UV = 215, |
| PVRSRV_PIXEL_FORMAT_C0_4KYUV420_2P_VU = 216, |
| PVRSRV_PIXEL_FORMAT_C1_4KYUV420_2P_UV = 217, |
| PVRSRV_PIXEL_FORMAT_C1_4KYUV420_2P_VU = 218, |
| PVRSRV_PIXEL_FORMAT_P208 = 219, |
| PVRSRV_PIXEL_FORMAT_A8P8 = 220, |
| |
| PVRSRV_PIXEL_FORMAT_A4 = 221, |
| PVRSRV_PIXEL_FORMAT_AYUV8888 = 222, |
| PVRSRV_PIXEL_FORMAT_RAW256 = 223, |
| PVRSRV_PIXEL_FORMAT_RAW512 = 224, |
| PVRSRV_PIXEL_FORMAT_RAW1024 = 225, |
| |
| PVRSRV_PIXEL_FORMAT_FORCE_I32 = 0x7fffffff |
| |
| } PVRSRV_PIXEL_FORMAT; |
| |
| typedef enum _PVRSRV_ALPHA_FORMAT_ { |
| PVRSRV_ALPHA_FORMAT_UNKNOWN = 0x00000000, |
| PVRSRV_ALPHA_FORMAT_PRE = 0x00000001, |
| PVRSRV_ALPHA_FORMAT_NONPRE = 0x00000002, |
| PVRSRV_ALPHA_FORMAT_MASK = 0x0000000F, |
| } PVRSRV_ALPHA_FORMAT; |
| |
| typedef enum _PVRSRV_COLOURSPACE_FORMAT_ { |
| PVRSRV_COLOURSPACE_FORMAT_UNKNOWN = 0x00000000, |
| PVRSRV_COLOURSPACE_FORMAT_LINEAR = 0x00010000, |
| PVRSRV_COLOURSPACE_FORMAT_NONLINEAR = 0x00020000, |
| PVRSRV_COLOURSPACE_FORMAT_MASK = 0x000F0000, |
| } PVRSRV_COLOURSPACE_FORMAT; |
| |
| |
| typedef enum _PVRSRV_ROTATION_ { |
| PVRSRV_ROTATE_0 = 0, |
| PVRSRV_ROTATE_90 = 1, |
| PVRSRV_ROTATE_180 = 2, |
| PVRSRV_ROTATE_270 = 3, |
| PVRSRV_FLIP_Y |
| |
| } PVRSRV_ROTATION; |
| |
| #define PVRSRV_CREATE_SWAPCHAIN_SHARED (1<<0) |
| #define PVRSRV_CREATE_SWAPCHAIN_QUERY (1<<1) |
| #define PVRSRV_CREATE_SWAPCHAIN_OEMOVERLAY (1<<2) |
| |
| typedef struct _PVRSRV_SYNC_DATA_ |
| { |
| |
| IMG_UINT32 ui32WriteOpsPending; |
| volatile IMG_UINT32 ui32WriteOpsComplete; |
| |
| |
| IMG_UINT32 ui32ReadOpsPending; |
| volatile IMG_UINT32 ui32ReadOpsComplete; |
| |
| |
| IMG_UINT32 ui32ReadOps2Pending; |
| volatile IMG_UINT32 ui32ReadOps2Complete; |
| |
| |
| IMG_UINT32 ui32LastOpDumpVal; |
| IMG_UINT32 ui32LastReadOpDumpVal; |
| |
| } PVRSRV_SYNC_DATA; |
| |
| typedef struct _PVRSRV_CLIENT_SYNC_INFO_ |
| { |
| |
| PVRSRV_SYNC_DATA *psSyncData; |
| |
| |
| |
| |
| |
| IMG_DEV_VIRTADDR sWriteOpsCompleteDevVAddr; |
| |
| |
| IMG_DEV_VIRTADDR sReadOpsCompleteDevVAddr; |
| |
| |
| IMG_DEV_VIRTADDR sReadOps2CompleteDevVAddr; |
| |
| |
| #if defined (SUPPORT_SID_INTERFACE) |
| IMG_SID hMappingInfo; |
| |
| |
| IMG_SID hKernelSyncInfo; |
| #else |
| IMG_HANDLE hMappingInfo; |
| |
| |
| IMG_HANDLE hKernelSyncInfo; |
| #endif |
| |
| } PVRSRV_CLIENT_SYNC_INFO, *PPVRSRV_CLIENT_SYNC_INFO; |
| |
| typedef struct PVRSRV_RESOURCE_TAG |
| { |
| volatile IMG_UINT32 ui32Lock; |
| IMG_UINT32 ui32ID; |
| }PVRSRV_RESOURCE; |
| typedef PVRSRV_RESOURCE PVRSRV_RES_HANDLE; |
| |
| |
| typedef IMG_VOID (*PFN_CMD_COMPLETE) (IMG_HANDLE); |
| typedef IMG_VOID (**PPFN_CMD_COMPLETE) (IMG_HANDLE); |
| |
| typedef IMG_BOOL (*PFN_CMD_PROC) (IMG_HANDLE, IMG_UINT32, IMG_VOID*); |
| typedef IMG_BOOL (**PPFN_CMD_PROC) (IMG_HANDLE, IMG_UINT32, IMG_VOID*); |
| |
| |
| typedef struct _IMG_RECT_ |
| { |
| IMG_INT32 x0; |
| IMG_INT32 y0; |
| IMG_INT32 x1; |
| IMG_INT32 y1; |
| }IMG_RECT; |
| |
| typedef struct _IMG_RECT_16_ |
| { |
| IMG_INT16 x0; |
| IMG_INT16 y0; |
| IMG_INT16 x1; |
| IMG_INT16 y1; |
| }IMG_RECT_16; |
| |
| |
| typedef PVRSRV_ERROR (*PFN_GET_BUFFER_ADDR)(IMG_HANDLE, |
| IMG_HANDLE, |
| IMG_SYS_PHYADDR**, |
| IMG_SIZE_T*, |
| IMG_VOID**, |
| IMG_HANDLE*, |
| IMG_BOOL*, |
| IMG_UINT32*); |
| |
| |
| typedef struct DISPLAY_DIMS_TAG |
| { |
| IMG_UINT32 ui32ByteStride; |
| IMG_UINT32 ui32Width; |
| IMG_UINT32 ui32Height; |
| } DISPLAY_DIMS; |
| |
| |
| typedef struct DISPLAY_FORMAT_TAG |
| { |
| |
| PVRSRV_PIXEL_FORMAT pixelformat; |
| } DISPLAY_FORMAT; |
| |
| typedef struct DISPLAY_SURF_ATTRIBUTES_TAG |
| { |
| |
| PVRSRV_PIXEL_FORMAT pixelformat; |
| |
| DISPLAY_DIMS sDims; |
| } DISPLAY_SURF_ATTRIBUTES; |
| |
| |
| typedef struct DISPLAY_MODE_INFO_TAG |
| { |
| |
| PVRSRV_PIXEL_FORMAT pixelformat; |
| |
| DISPLAY_DIMS sDims; |
| |
| IMG_UINT32 ui32RefreshHZ; |
| |
| IMG_UINT32 ui32OEMFlags; |
| } DISPLAY_MODE_INFO; |
| |
| |
| |
| #define MAX_DISPLAY_NAME_SIZE (50) |
| |
| typedef struct DISPLAY_INFO_TAG |
| { |
| |
| IMG_UINT32 ui32MaxSwapChains; |
| |
| IMG_UINT32 ui32MaxSwapChainBuffers; |
| |
| IMG_UINT32 ui32MinSwapInterval; |
| |
| IMG_UINT32 ui32MaxSwapInterval; |
| |
| IMG_UINT32 ui32PhysicalWidthmm; |
| IMG_UINT32 ui32PhysicalHeightmm; |
| |
| IMG_CHAR szDisplayName[MAX_DISPLAY_NAME_SIZE]; |
| #if defined(SUPPORT_HW_CURSOR) |
| |
| IMG_UINT16 ui32CursorWidth; |
| IMG_UINT16 ui32CursorHeight; |
| #endif |
| } DISPLAY_INFO; |
| |
| typedef struct ACCESS_INFO_TAG |
| { |
| IMG_UINT32 ui32Size; |
| IMG_UINT32 ui32FBPhysBaseAddress; |
| IMG_UINT32 ui32FBMemAvailable; |
| IMG_UINT32 ui32SysPhysBaseAddress; |
| IMG_UINT32 ui32SysSize; |
| IMG_UINT32 ui32DevIRQ; |
| }ACCESS_INFO; |
| |
| |
| |
| #if defined(PDUMP_SUSPEND_IS_PER_THREAD) |
| typedef struct { |
| IMG_UINT32 threadId; |
| IMG_INT suspendCount; |
| } PVRSRV_THREAD_SUSPEND_COUNT; |
| |
| #define PVRSRV_PDUMP_SUSPEND_Q_NAME "PVRSRVPDumpSuspendMsgQ" |
| #define PVRSRV_PDUMP_SUSPEND_Q_LENGTH 8 |
| |
| #endif |
| |
| |
| typedef struct _PVRSRV_REGISTRY_INFO_ |
| { |
| IMG_UINT32 ui32DevCookie; |
| IMG_PCHAR pszKey; |
| IMG_PCHAR pszValue; |
| IMG_PCHAR pszBuf; |
| IMG_UINT32 ui32BufSize; |
| } PVRSRV_REGISTRY_INFO, *PPVRSRV_REGISTRY_INFO; |
| |
| |
| PVRSRV_ERROR IMG_CALLCONV PVRSRVReadRegistryString (PPVRSRV_REGISTRY_INFO psRegInfo); |
| PVRSRV_ERROR IMG_CALLCONV PVRSRVWriteRegistryString (PPVRSRV_REGISTRY_INFO psRegInfo); |
| |
| |
| #define PVRSRV_BC_FLAGS_YUVCSC_CONFORMANT_RANGE (0 << 0) |
| #define PVRSRV_BC_FLAGS_YUVCSC_FULL_RANGE (1 << 0) |
| |
| #define PVRSRV_BC_FLAGS_YUVCSC_BT601 (0 << 1) |
| #define PVRSRV_BC_FLAGS_YUVCSC_BT709 (1 << 1) |
| |
| #define MAX_BUFFER_DEVICE_NAME_SIZE (50) |
| |
| typedef struct BUFFER_INFO_TAG |
| { |
| IMG_UINT32 ui32BufferCount; |
| IMG_UINT32 ui32BufferDeviceID; |
| PVRSRV_PIXEL_FORMAT pixelformat; |
| IMG_UINT32 ui32ByteStride; |
| IMG_UINT32 ui32Width; |
| IMG_UINT32 ui32Height; |
| IMG_UINT32 ui32Flags; |
| IMG_CHAR szDeviceName[MAX_BUFFER_DEVICE_NAME_SIZE]; |
| } BUFFER_INFO; |
| |
| typedef enum _OVERLAY_DEINTERLACE_MODE_ |
| { |
| WEAVE=0x0, |
| BOB_ODD, |
| BOB_EVEN, |
| BOB_EVEN_NONINTERLEAVED |
| } OVERLAY_DEINTERLACE_MODE; |
| |
| #endif |