Skip to content

Commit

Permalink
Merge pull request #554 from veselypeta/petr/549/get-info-validation
Browse files Browse the repository at this point in the history
Make GetInfo queries consistent and tested
  • Loading branch information
veselypeta authored May 31, 2023
2 parents 758c7e2 + 5b5e28b commit 46ea036
Show file tree
Hide file tree
Showing 28 changed files with 756 additions and 84 deletions.
111 changes: 99 additions & 12 deletions include/ur_api.h
Original file line number Diff line number Diff line change
Expand Up @@ -436,6 +436,17 @@ typedef enum ur_platform_info_t {
/// + `NULL == hPlatform`
/// - ::UR_RESULT_ERROR_INVALID_ENUMERATION
/// + `::UR_PLATFORM_INFO_BACKEND < propName`
/// - ::UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION
/// + If `propName` is not supported by the adapter.
/// - ::UR_RESULT_ERROR_INVALID_SIZE
/// + `propSize == 0 && pPropValue != NULL`
/// + If `propSize` is less than the real number of bytes needed to return the info.
/// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
/// + `propSize != 0 && pPropValue == NULL`
/// + `pPropValue == NULL && pPropSizeRet == NULL`
/// - ::UR_RESULT_ERROR_INVALID_PLATFORM
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
UR_APIEXPORT ur_result_t UR_APICALL
urPlatformGetInfo(
ur_platform_handle_t hPlatform, ///< [in] handle of the platform
Expand All @@ -446,7 +457,7 @@ urPlatformGetInfo(
///< If Size is not equal to or greater to the real number of bytes needed
///< to return the info then the ::UR_RESULT_ERROR_INVALID_SIZE error is
///< returned and pPlatformInfo is not used.
size_t *pSizeRet ///< [out][optional] pointer to the actual number of bytes being queried by pPlatformInfo.
size_t *pPropSizeRet ///< [out][optional] pointer to the actual number of bytes being queried by pPlatformInfo.
);

///////////////////////////////////////////////////////////////////////////////
Expand Down Expand Up @@ -937,8 +948,17 @@ typedef enum ur_device_info_t {
/// + `NULL == hDevice`
/// - ::UR_RESULT_ERROR_INVALID_ENUMERATION
/// + `::UR_DEVICE_INFO_MAX_REGISTERS_PER_WORK_GROUP < propName`
/// - ::UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION
/// + If `propName` is not supported by the adapter.
/// - ::UR_RESULT_ERROR_INVALID_VALUE
/// - ::UR_RESULT_ERROR_INVALID_SIZE
/// + `propSize == 0 && pPropValue != NULL`
/// + If `propSize` is less than the real number of bytes needed to return the info.
/// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
/// + `propSize != 0 && pPropValue == NULL`
/// + `pPropValue == NULL && pPropSizeRet == NULL`
/// - ::UR_RESULT_ERROR_INVALID_DEVICE
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
UR_APIEXPORT ur_result_t UR_APICALL
urDeviceGetInfo(
ur_device_handle_t hDevice, ///< [in] handle of the device instance
Expand All @@ -948,7 +968,7 @@ urDeviceGetInfo(
///< the info.
///< If propSize is not equal to or greater than the real number of bytes
///< needed to return the info
///< then the ::UR_RESULT_ERROR_INVALID_VALUE error is returned and
///< then the ::UR_RESULT_ERROR_INVALID_SIZE error is returned and
///< pPropValue is not used.
size_t *pPropSizeRet ///< [out][optional] pointer to the actual size in bytes of the queried propName.
);
Expand Down Expand Up @@ -1522,6 +1542,17 @@ urContextRelease(
/// + `NULL == hContext`
/// - ::UR_RESULT_ERROR_INVALID_ENUMERATION
/// + `::UR_CONTEXT_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES < propName`
/// - ::UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION
/// + If `propName` is not supported by the adapter.
/// - ::UR_RESULT_ERROR_INVALID_SIZE
/// + `propSize == 0 && pPropValue != NULL`
/// + If `propSize` is less than the real number of bytes needed to return the info.
/// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
/// + `propSize != 0 && pPropValue == NULL`
/// + `pPropValue == NULL && pPropSizeRet == NULL`
/// - ::UR_RESULT_ERROR_INVALID_CONTEXT
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
UR_APIEXPORT ur_result_t UR_APICALL
urContextGetInfo(
ur_context_handle_t hContext, ///< [in] handle of the context
Expand Down Expand Up @@ -2116,6 +2147,17 @@ urMemImageCreateWithNativeHandle(
/// + `NULL == hMemory`
/// - ::UR_RESULT_ERROR_INVALID_ENUMERATION
/// + `::UR_MEM_INFO_CONTEXT < propName`
/// - ::UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION
/// + If `propName` is not supported by the adapter.
/// - ::UR_RESULT_ERROR_INVALID_SIZE
/// + `propSize == 0 && pPropValue != NULL`
/// + If `propSize` is less than the real number of bytes needed to return the info.
/// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
/// + `propSize != 0 && pPropValue == NULL`
/// + `pPropValue == NULL && pPropSizeRet == NULL`
/// - ::UR_RESULT_ERROR_INVALID_MEM_OBJECT
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
UR_APIEXPORT ur_result_t UR_APICALL
urMemGetInfo(
ur_mem_handle_t hMemory, ///< [in] handle to the memory object being queried.
Expand Down Expand Up @@ -2316,15 +2358,17 @@ urSamplerRelease(
/// + `NULL == hSampler`
/// - ::UR_RESULT_ERROR_INVALID_ENUMERATION
/// + `::UR_SAMPLER_INFO_FILTER_MODE < propName`
/// - ::UR_RESULT_ERROR_INVALID_SAMPLER
/// - ::UR_RESULT_ERROR_INVALID_VALUE
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
/// - ::UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION
/// + If `propName` is not supported by the adapter.
/// - ::UR_RESULT_ERROR_INVALID_SIZE
/// + `propSize == 0 && pPropValue != NULL`
/// + If `propSize` is less than the real number of bytes needed to return the info.
/// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
/// + `propSize != 0 && pPropValue == NULL`
/// + `pPropValue == NULL && pPropSizeRet == NULL`
/// - ::UR_RESULT_ERROR_INVALID_SAMPLER
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
UR_APIEXPORT ur_result_t UR_APICALL
urSamplerGetInfo(
ur_sampler_handle_t hSampler, ///< [in] handle of the sampler object
Expand Down Expand Up @@ -2841,7 +2885,15 @@ typedef enum ur_usm_pool_info_t {
/// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
/// + `NULL == pPropValue`
/// + `NULL == pPropSizeRet`
/// - ::UR_RESULT_ERROR_INVALID_VALUE
/// + `propSize != 0 && pPropValue == NULL`
/// + `pPropValue == NULL && pPropSizeRet == NULL`
/// - ::UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION
/// + If `propName` is not supported by the adapter.
/// - ::UR_RESULT_ERROR_INVALID_SIZE
/// + `propSize == 0 && pPropValue != NULL`
/// + If `propSize` is less than the real number of bytes needed to return the info.
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
UR_APIEXPORT ur_result_t UR_APICALL
urUSMPoolGetInfo(
ur_usm_pool_handle_t hPool, ///< [in] handle of the USM memory pool
Expand Down Expand Up @@ -3202,6 +3254,17 @@ typedef enum ur_program_info_t {
/// + `NULL == hProgram`
/// - ::UR_RESULT_ERROR_INVALID_ENUMERATION
/// + `::UR_PROGRAM_INFO_KERNEL_NAMES < propName`
/// - ::UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION
/// + If `propName` is not supported by the adapter.
/// - ::UR_RESULT_ERROR_INVALID_SIZE
/// + `propSize == 0 && pPropValue != NULL`
/// + If `propSize` is less than the real number of bytes needed to return the info.
/// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
/// + `propSize != 0 && pPropValue == NULL`
/// + `pPropValue == NULL && pPropSizeRet == NULL`
/// - ::UR_RESULT_ERROR_INVALID_PROGRAM
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
UR_APIEXPORT ur_result_t UR_APICALL
urProgramGetInfo(
ur_program_handle_t hProgram, ///< [in] handle of the Program object
Expand Down Expand Up @@ -3563,6 +3626,17 @@ typedef enum ur_kernel_exec_info_t {
/// + `NULL == hKernel`
/// - ::UR_RESULT_ERROR_INVALID_ENUMERATION
/// + `::UR_KERNEL_INFO_NUM_REGS < propName`
/// - ::UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION
/// + If `propName` is not supported by the adapter.
/// - ::UR_RESULT_ERROR_INVALID_SIZE
/// + `propSize == 0 && pPropValue != NULL`
/// + If `propSize` is less than the real number of bytes needed to return the info.
/// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
/// + `propSize != 0 && pPropValue == NULL`
/// + `pPropValue == NULL && pPropSizeRet == NULL`
/// - ::UR_RESULT_ERROR_INVALID_KERNEL
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
UR_APIEXPORT ur_result_t UR_APICALL
urKernelGetInfo(
ur_kernel_handle_t hKernel, ///< [in] handle of the Kernel object
Expand Down Expand Up @@ -3948,8 +4022,15 @@ typedef enum ur_queue_flag_t {
/// + `NULL == hQueue`
/// - ::UR_RESULT_ERROR_INVALID_ENUMERATION
/// + `::UR_QUEUE_INFO_EMPTY < propName`
/// - ::UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION
/// + If `propName` is not supported by the adapter.
/// - ::UR_RESULT_ERROR_INVALID_SIZE
/// + `propSize == 0 && pPropValue != NULL`
/// + If `propSize` is less than the real number of bytes needed to return the info.
/// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
/// + `propSize != 0 && pPropValue == NULL`
/// + `pPropValue == NULL && pPropSizeRet == NULL`
/// - ::UR_RESULT_ERROR_INVALID_QUEUE
/// - ::UR_RESULT_ERROR_INVALID_VALUE
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
UR_APIEXPORT ur_result_t UR_APICALL
Expand Down Expand Up @@ -4315,8 +4396,14 @@ typedef enum ur_profiling_info_t {
/// + `NULL == hEvent`
/// - ::UR_RESULT_ERROR_INVALID_ENUMERATION
/// + `::UR_EVENT_INFO_REFERENCE_COUNT < propName`
/// - ::UR_RESULT_ERROR_INVALID_VALUE
/// + `pPropValue && propSize == 0`
/// - ::UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION
/// + If `propName` is not supported by the adapter.
/// - ::UR_RESULT_ERROR_INVALID_SIZE
/// + `propSize == 0 && pPropValue != NULL`
/// + If `propSize` is less than the real number of bytes needed to return the info.
/// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
/// + `propSize != 0 && pPropValue == NULL`
/// + `pPropValue == NULL && pPropSizeRet == NULL`
/// - ::UR_RESULT_ERROR_INVALID_EVENT
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
Expand Down Expand Up @@ -5894,7 +5981,7 @@ typedef struct ur_platform_get_info_params_t {
ur_platform_info_t *ppropName;
size_t *ppropSize;
void **ppPropValue;
size_t **ppSizeRet;
size_t **ppPropSizeRet;
} ur_platform_get_info_params_t;

///////////////////////////////////////////////////////////////////////////////
Expand Down
12 changes: 12 additions & 0 deletions scripts/core/context.yml
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,18 @@ params:
name: pPropSizeRet
desc: |
[out][optional] pointer to the actual size in bytes of the queried propName.
returns:
- $X_RESULT_ERROR_UNSUPPORTED_ENUMERATION:
- "If `propName` is not supported by the adapter."
- $X_RESULT_ERROR_INVALID_SIZE:
- "`propSize == 0 && pPropValue != NULL`"
- "If `propSize` is less than the real number of bytes needed to return the info."
- $X_RESULT_ERROR_INVALID_NULL_POINTER:
- "`propSize != 0 && pPropValue == NULL`"
- "`pPropValue == NULL && pPropSizeRet == NULL`"
- $X_RESULT_ERROR_INVALID_CONTEXT
- $X_RESULT_ERROR_OUT_OF_RESOURCES
- $X_RESULT_ERROR_OUT_OF_HOST_MEMORY
--- #--------------------------------------------------------------------------
type: function
desc: "Return platform native context handle."
Expand Down
14 changes: 11 additions & 3 deletions scripts/core/device.yml
Original file line number Diff line number Diff line change
Expand Up @@ -409,15 +409,23 @@ params:
desc: |
[out][optional][typename(propName, propSize)] array of bytes holding the info.
If propSize is not equal to or greater than the real number of bytes needed to return the info
then the $X_RESULT_ERROR_INVALID_VALUE error is returned and pPropValue is not used.
then the $X_RESULT_ERROR_INVALID_SIZE error is returned and pPropValue is not used.
- type: "size_t*"
name: pPropSizeRet
desc: |
[out][optional] pointer to the actual size in bytes of the queried propName.
returns:
- $X_RESULT_ERROR_INVALID_ENUMERATION:
- $X_RESULT_ERROR_UNSUPPORTED_ENUMERATION:
- "If `propName` is not supported by the adapter."
- $X_RESULT_ERROR_INVALID_VALUE
- $X_RESULT_ERROR_INVALID_SIZE:
- "`propSize == 0 && pPropValue != NULL`"
- "If `propSize` is less than the real number of bytes needed to return the info."
- $X_RESULT_ERROR_INVALID_NULL_POINTER:
- "`propSize != 0 && pPropValue == NULL`"
- "`pPropValue == NULL && pPropSizeRet == NULL`"
- $X_RESULT_ERROR_INVALID_DEVICE
- $X_RESULT_ERROR_OUT_OF_RESOURCES
- $X_RESULT_ERROR_OUT_OF_HOST_MEMORY
--- #--------------------------------------------------------------------------
type: function
desc: "Makes a reference of the device handle indicating it's in use until paired $xDeviceRelease is called"
Expand Down
10 changes: 8 additions & 2 deletions scripts/core/event.yml
Original file line number Diff line number Diff line change
Expand Up @@ -145,8 +145,14 @@ params:
name: pPropSizeRet
desc: "[out][optional] bytes returned in event property"
returns:
- $X_RESULT_ERROR_INVALID_VALUE:
- "`pPropValue && propSize == 0`"
- $X_RESULT_ERROR_UNSUPPORTED_ENUMERATION:
- "If `propName` is not supported by the adapter."
- $X_RESULT_ERROR_INVALID_SIZE:
- "`propSize == 0 && pPropValue != NULL`"
- "If `propSize` is less than the real number of bytes needed to return the info."
- $X_RESULT_ERROR_INVALID_NULL_POINTER:
- "`propSize != 0 && pPropValue == NULL`"
- "`pPropValue == NULL && pPropSizeRet == NULL`"
- $X_RESULT_ERROR_INVALID_EVENT
- $X_RESULT_ERROR_OUT_OF_RESOURCES
- $X_RESULT_ERROR_OUT_OF_HOST_MEMORY
Expand Down
12 changes: 12 additions & 0 deletions scripts/core/kernel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,18 @@ params:
name: "pPropSizeRet"
desc: |
[out][optional] pointer to the actual size in bytes of data being queried by propName.
returns:
- $X_RESULT_ERROR_UNSUPPORTED_ENUMERATION:
- "If `propName` is not supported by the adapter."
- $X_RESULT_ERROR_INVALID_SIZE:
- "`propSize == 0 && pPropValue != NULL`"
- "If `propSize` is less than the real number of bytes needed to return the info."
- $X_RESULT_ERROR_INVALID_NULL_POINTER:
- "`propSize != 0 && pPropValue == NULL`"
- "`pPropValue == NULL && pPropSizeRet == NULL`"
- $X_RESULT_ERROR_INVALID_KERNEL
- $X_RESULT_ERROR_OUT_OF_RESOURCES
- $X_RESULT_ERROR_OUT_OF_HOST_MEMORY
--- #--------------------------------------------------------------------------
type: function
desc: "Query work Group information about a Kernel object"
Expand Down
12 changes: 12 additions & 0 deletions scripts/core/memory.yml
Original file line number Diff line number Diff line change
Expand Up @@ -532,6 +532,18 @@ params:
name: pPropSizeRet
desc: |
[out][optional] pointer to the actual size in bytes of the queried propName.
returns:
- $X_RESULT_ERROR_UNSUPPORTED_ENUMERATION:
- "If `propName` is not supported by the adapter."
- $X_RESULT_ERROR_INVALID_SIZE:
- "`propSize == 0 && pPropValue != NULL`"
- "If `propSize` is less than the real number of bytes needed to return the info."
- $X_RESULT_ERROR_INVALID_NULL_POINTER:
- "`propSize != 0 && pPropValue == NULL`"
- "`pPropValue == NULL && pPropSizeRet == NULL`"
- $X_RESULT_ERROR_INVALID_MEM_OBJECT
- $X_RESULT_ERROR_OUT_OF_RESOURCES
- $X_RESULT_ERROR_OUT_OF_HOST_MEMORY
--- #--------------------------------------------------------------------------
type: function
desc: "Retrieve information about an image object."
Expand Down
14 changes: 13 additions & 1 deletion scripts/core/platform.yml
Original file line number Diff line number Diff line change
Expand Up @@ -96,9 +96,21 @@ params:
[out][optional][typename(propName, propSize)] array of bytes holding the info.
If Size is not equal to or greater to the real number of bytes needed to return the info then the $X_RESULT_ERROR_INVALID_SIZE error is returned and pPlatformInfo is not used.
- type: "size_t*"
name: pSizeRet
name: pPropSizeRet
desc: |
[out][optional] pointer to the actual number of bytes being queried by pPlatformInfo.
returns:
- $X_RESULT_ERROR_UNSUPPORTED_ENUMERATION:
- "If `propName` is not supported by the adapter."
- $X_RESULT_ERROR_INVALID_SIZE:
- "`propSize == 0 && pPropValue != NULL`"
- "If `propSize` is less than the real number of bytes needed to return the info."
- $X_RESULT_ERROR_INVALID_NULL_POINTER:
- "`propSize != 0 && pPropValue == NULL`"
- "`pPropValue == NULL && pPropSizeRet == NULL`"
- $X_RESULT_ERROR_INVALID_PLATFORM
- $X_RESULT_ERROR_OUT_OF_RESOURCES
- $X_RESULT_ERROR_OUT_OF_HOST_MEMORY
--- #--------------------------------------------------------------------------
type: enum
desc: "Supported API versions"
Expand Down
12 changes: 12 additions & 0 deletions scripts/core/program.yml
Original file line number Diff line number Diff line change
Expand Up @@ -357,6 +357,18 @@ params:
name: "pPropSizeRet"
desc: |
[out][optional] pointer to the actual size in bytes of the queried propName.
returns:
- $X_RESULT_ERROR_UNSUPPORTED_ENUMERATION:
- "If `propName` is not supported by the adapter."
- $X_RESULT_ERROR_INVALID_SIZE:
- "`propSize == 0 && pPropValue != NULL`"
- "If `propSize` is less than the real number of bytes needed to return the info."
- $X_RESULT_ERROR_INVALID_NULL_POINTER:
- "`propSize != 0 && pPropValue == NULL`"
- "`pPropValue == NULL && pPropSizeRet == NULL`"
- $X_RESULT_ERROR_INVALID_PROGRAM
- $X_RESULT_ERROR_OUT_OF_RESOURCES
- $X_RESULT_ERROR_OUT_OF_HOST_MEMORY
--- #--------------------------------------------------------------------------
type: enum
desc: "Program object build status"
Expand Down
10 changes: 8 additions & 2 deletions scripts/core/queue.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,12 +85,18 @@ params:
name: pPropSizeRet
desc: "[out][optional] size in bytes returned in queue property value"
returns:
- $X_RESULT_ERROR_UNSUPPORTED_ENUMERATION:
- "If `propName` is not supported by the adapter."
- $X_RESULT_ERROR_INVALID_SIZE:
- "`propSize == 0 && pPropValue != NULL`"
- "If `propSize` is less than the real number of bytes needed to return the info."
- $X_RESULT_ERROR_INVALID_NULL_POINTER:
- "`propSize != 0 && pPropValue == NULL`"
- "`pPropValue == NULL && pPropSizeRet == NULL`"
- $X_RESULT_ERROR_INVALID_QUEUE
- $X_RESULT_ERROR_INVALID_VALUE
- $X_RESULT_ERROR_OUT_OF_HOST_MEMORY
- $X_RESULT_ERROR_OUT_OF_RESOURCES
--- #--------------------------------------------------------------------------

type: struct
desc: "Queue creation properties"
class: $xQueue
Expand Down
14 changes: 8 additions & 6 deletions scripts/core/sampler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -160,15 +160,17 @@ params:
name: pPropSizeRet
desc: "[out][optional] size in bytes returned in sampler property value"
returns:
- $X_RESULT_ERROR_UNSUPPORTED_ENUMERATION:
- "If `propName` is not supported by the adapter."
- $X_RESULT_ERROR_INVALID_SIZE:
- "`propSize == 0 && pPropValue != NULL`"
- "If `propSize` is less than the real number of bytes needed to return the info."
- $X_RESULT_ERROR_INVALID_NULL_POINTER:
- "`propSize != 0 && pPropValue == NULL`"
- "`pPropValue == NULL && pPropSizeRet == NULL`"
- $X_RESULT_ERROR_INVALID_SAMPLER
- $X_RESULT_ERROR_INVALID_VALUE
- $X_RESULT_ERROR_OUT_OF_HOST_MEMORY
- $X_RESULT_ERROR_OUT_OF_RESOURCES
- $X_RESULT_ERROR_INVALID_SIZE:
- "`propSize == 0 && pPropValue != NULL`"
- $X_RESULT_ERROR_INVALID_NULL_POINTER:
- "`propSize != 0 && pPropValue == NULL`"
- "`pPropValue == NULL && pPropSizeRet == NULL`"
--- #--------------------------------------------------------------------------
type: function
desc: "Return sampler native sampler handle."
Expand Down
Loading

0 comments on commit 46ea036

Please sign in to comment.