aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/clover/api
Commit message (Collapse)AuthorAgeFilesLines
* st/clover: provide a path for drivers to call through to pfn_notifyIlia Mirkin2015-11-051-1/+6
| | | | | | | Signed-off-by: Ilia Mirkin <[email protected]> [ Francisco Jerez: Clean up clover::context interface by passing around a function object. ]
* clover: Implement clCreateImage?D w/ clCreateImage.Serge Martin2015-09-281-52/+8
| | | | | | | Remplace clCreateImage2D and clCreateImage3D implementation with call to clCreateImage. Reviewed-by: Francisco Jerez <[email protected]>
* clover: Implement CL1.2 clCreateImage().Serge Martin2015-09-281-10/+91
| | | | Reviewed-by: Francisco Jerez <[email protected]>
* clover: Move down canonicalization of memory object flags into validate_flags().Francisco Jerez2015-09-281-39/+40
| | | | | | | | This will be used to share the same logic between buffer and image creation. v2: Make memory flag set constants local to validate_flags. (Serge Martin)
* clover: Stub missing CL 1.2 functions.Serge Martin (EdB)2015-08-076-8/+65
| | | | | | | | | | | | | | | | | | | | | | As sugested by Tom a long time ago and in order to be able to create Piglit tests v2: replace NOT_SUPPORTED_BY_CL_1_1 macro with an inline function remove extra space in clLinkProgram arg v3: use __func__ v4: back to a macro, it make more sense to use it with __func__ [ Francisco Jerez: Rename to CLOVER_NOT_SUPPORTED_UNTIL and pass the minimum API version required by the entry point so the error messages don't become stale when support for additional CL versions is introduced. ] Reviewed-by: Francisco Jerez <[email protected]>
* clover: make dispatch matches functions defEdB2015-07-311-5/+18
| | | | Reviewed-by: Francisco Jerez <[email protected]>
* clover: implement CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLEGrigori Goronzy2015-06-291-1/+1
| | | | | | | | | | Work-group size should always be aligned to subgroup size; this is a basic requirement, otherwise some work-items will be no-operation. It might make sense to refine the value according to a kernel's resource usage, but that's a possible optimization for the future. Reviewed-by: Francisco Jerez <[email protected]>
* clover: clarify and fix the EGL interop error caseMarek Olšák2015-06-051-1/+6
| | | | Cc: 10.6 <[email protected]>
* gallium,clover: add OpenCL interoperability support for CL eventsMarek Olšák2015-04-301-0/+64
| | | | | | | | | | | v2: - move interop.cpp to clover/api - change intptr_t to void* in the interface - add a virtual function fence() to simplify some code v3: - use bool in the interface v4: - enclose the last two interop functions in try..catch Reviewed-by: Francisco Jerez <[email protected]>
* clover: remove util/compatEdB2015-04-291-6/+8
| | | | | Acked-by: Francisco Jerez <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* clover: make module::symbol::name a stringEdB2015-04-291-2/+1
| | | | | Acked-by: Francisco Jerez <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* clover: remove compat::stringEdB2015-04-291-1/+1
| | | | | Acked-by: Francisco Jerez <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* clover: remove compat classes that match std oneEdB2015-04-291-1/+1
| | | | | Acked-by: Francisco Jerez <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* clover: The unit for CL_DEVICE_MEM_BASE_ADDR_ALIGN is bits not bytesTom Stellard2015-03-231-0/+3
| | | | | Reviewed-by: Jan Vesely <[email protected]> Reviewed-by: Francisco Jerez <[email protected]>
* clover: Add all the mandatory 1.1 extensions to the extension stringTom Stellard2015-03-231-1/+7
| | | | | Reviewed-by: Jan Vesely <[email protected]> Reviewed-by: Francisco Jerez <[email protected]>
* clover: Add a space at the end of CL_DEVICE_OPENCL_C_VERSIONTom Stellard2015-03-231-1/+1
| | | | | | | This is required by the spec. Reviewed-by: Jan Vesely <[email protected]> Reviewed-by: Francisco Jerez <[email protected]>
* clover: Return the minimum required value for CL_DEVICE_SINGLE_FP_CONFIG v2Tom Stellard2015-03-091-1/+4
| | | | | | | | | | This means dropping CL_FP_DENORM from the current return value. v2: - Add comments about minimum values for OpenCL 1.2. Reviewed-by: Francisco Jerez <[email protected]> Reviewed-by: Jan Vesely <[email protected]>
* clover: Enable cl_khr_fp64 for devices that support doubles v4Tom Stellard2015-03-051-3/+18
| | | | | | | | | | | | | | | | | | | v2: - Report correct values for CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE and CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE. - Only define cl_khr_fp64 if the extension is supported. - Remove trailing space from extension string. - Rename device query function from cl_khr_fp64() to has_doubles(). v3: - Return 0 for device::doubled_fp_confg() when doubles aren't supported. v4: - Remove device query for double fp_config. Reviewed-by: Francisco Jerez <[email protected]>
* clover: Set appropriate flag defaults on memory object creation.Francisco Jerez2015-02-241-8/+18
| | | | | | | | | | | According to the spec when no device access mode is specified clCreateBuffer and clCreateImage* should default to read/write, and clCreateSubBuffer should default to the parent's device access flags. clCreateSubBuffer is also required to inherit the host access and host pointer flags from the parent. Reviewed-and-tested-by: EdB <[email protected]>
* clover: Add CL_MEM_HOST_* flag checks.EdB2015-02-242-7/+34
| | | | | | | | | | | Those flags have been introduced in OpenCL 1.2. [ Francisco Jerez: Rebase. Throw CL_INVALID_VALUE from clCreateSubBuffer if the subbuffer drops access flags from its parent. Use single function taking the set of allowed host access flags to validate memory transfer operands. ] Reviewed-by: Francisco Jerez <[email protected]>
* clover: Factor out memory object flags validation to a helper function.Francisco Jerez2015-02-241-34/+32
| | | | | | | And define constants for commonly used subsets of flags to save some typing. Reviewed-and-tested-by: EdB <[email protected]>
* clover: clCompileProgram CL_INVALID_COMPILER_OPTIONSEdB2014-12-021-0/+2
| | | | | | | clCompileProgram should return CL_INVALID_COMPILER_OPTIONS instead of CL_INVALID_BUILD_OPTIONS Reviewed-by: Francisco Jerez <[email protected]>
* clover: Fix clBuildProgram piglit regressionTom Stellard2014-11-031-4/+4
| | | | | | | | | | | Should trigger CL_INVALID_VALUE if device_list is NULL and num_devices is greater than zero. Introduced by e5468dfa523be2a7a0d04bb9efcf8ae780957563 Reported by: EdB Reviewed-by: Francisco Jerez <[email protected]>
* clover: Fix bug when binary programs are passed to clBuildProgram() v2Tom Stellard2014-10-311-5/+13
| | | | | | | | | | | | | This was a regression introduced by 611d66fe4513e53bde052dd2bab95d448c909a2a Passing a binary program to clBuildProgram() is legal, but passing one to clCompileProgram() is not. v2: - Code cleanups. Reviewed-by: Francisco Jerez <[email protected]>
* clover: Factor input validation of clCompileProgram into a new function v2Tom Stellard2014-10-311-10/+23
| | | | | | | | | This factors out the validation that is common with clBuildProgram(). v2: - Code cleanups. Reviewed-by: Francisco Jerez <[email protected]>
* clover: Don't return CL_INVALID_VALUE if there is no header.EdB2014-10-201-1/+1
| | | | Reviewed-by: Francisco Jerez <[email protected]>
* clover: Add initial implementation of clCompileProgram for CL 1.2.EdB2014-10-202-5/+34
| | | | | | [ Francisco Jerez: General clean-up. ] Reviewed-by: Francisco Jerez <[email protected]>
* st/clover: Change platform name from Default to CloverAaron Watry2014-08-221-1/+1
| | | | | Signed-off-by: Aaron Watry <awatry at gmail.com> Reviewed-by: Francisco Jerez <[email protected]>
* clover: Refuse to build a program if there are kernel objects attached to it.Francisco Jerez2014-08-181-0/+3
| | | | | | Fixes piglit cl-api-build-program. Tested-by: EdB <[email protected]>
* clover: clGetProgramInfo support for OpenCL 1.2.EdB2014-08-171-0/+11
| | | | | | | [ Francisco Jerez: Rework using fold() for conciseness. ] Reviewed-by: Francisco Jerez <[email protected]> Tested-by: EdB <[email protected]>
* clover: Flush the command queue in clReleaseCommandQueue()Tom Stellard2014-08-131-1/+5
| | | | | | | | This is required by the spec. Reviewed-by: Francisco Jerez <[email protected]> CC: "10.2" <[email protected]>
* clover: Add support for CL_MAP_WRITE_INVALIDATE_REGIONBruno Jiménez2014-08-081-0/+12
| | | | | | | | | | | | | | | | OpenCL 1.2 CL_MAP_WRITE_INVALIDATE_REGION sounds a lot like PIPE_TRANSFER_DISCARD_RANGE: From OpenCL 1.2 spec: The contents of the region being mapped are to be discarded. From p_defines.h: Discards the memory within the mapped region. v2: Move the code for validating flags to the front-end as suggested by Francisco Jerez Reviewed-by: Francisco Jerez <[email protected]>
* clover: Add checks for image support to the image functions v2Tom Stellard2014-07-283-0/+12
| | | | | | | | | | Most image functions are required to return a CL_INVALID_OPERATION error when used on devices without image support. v2: - Simplified the code Reviewed-by: Francisco Jerez <[email protected]>
* clover: Add clUnloadPlatformCompiler.EdB2014-07-282-1/+6
| | | | Reviewed-by: Francisco Jerez <[email protected]>
* clover: Add clCreateProgramWithBuiltInKernels.EdB2014-07-282-1/+23
| | | | | | | [ Francisco Jerez: Check for devices not associated with the specified context. Style fix. ] Reviewed-by: Francisco Jerez <[email protected]>
* clover: Query the device to see if images are supportedTom Stellard2014-07-251-1/+1
| | | | Reviewed-by: Francisco Jerez <[email protected]>
* clover: Have compat::string allocate its own memory.Francisco Jerez2014-07-021-1/+3
|
* clover: Calculate the serialized size of a module efficiently.Francisco Jerez2014-06-191-4/+1
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: query driver for the max number of compute unitsBruno Jiménez2014-06-121-1/+1
| | | | | Reviewed-by: Tom Stellard <[email protected]> Reviewed-by: Francisco Jerez <[email protected]>
* clover: Add a stub implementation of clCreateImage() v3Tom Stellard2014-05-024-2/+21
| | | | | | | | | | | | | | | | | Now that we are uisng the OpenCL 1.2 headers, applications expect all the OpenCL 1.2 functions to be implemented. This fixes linking errors with the piglit CL tests. v2: - Use c++ features - Fix error code handling v3: - Move <iostream> into api/util.hpp - Fix indentation Reviewed-by: Francisco Jerez <[email protected]>
* clover: Query drivers for max clock frequencyTom Stellard2014-04-291-1/+1
| | | | | | | | | | | | | | Igor Gnatenko: v2: PIPE_COMPUTE_CAP_MAX_CLOCK_FREQUENCY instead of PIPE_COMPUTE_MAX_CLOCK_FREQUENCY Bruno Jiménez: v3: Drivers report clock in Mhz Signed-off-by: Igor Gnatenko <[email protected]> Reviewed-by: Francisco Jerez <[email protected]>
* clover: Stub implementation of CL 1.2 sub-devices.EdB2014-04-293-4/+66
| | | | | | | | | | | The implementation is basically a NOP but it conforms with OpenCL 1.2. [ Francisco Jerez: Initialize property return buffer for CL_DEVICE_PARTITION_PROPERTIES, CL_DEVICE_PARTITION_TYPE, CL_DEVICE_PARTITION_AFFINITY_DOMAIN, and make the latter a scalar rather than a vector. Some clean-up and code style fixes. ] Reviewed-by: Francisco Jerez <[email protected]>
* clover: Add clEnqueue{Marker, Barrier}WithWaitList.EdB2014-04-292-7/+43
| | | | Reviewed-by: Francisco Jerez <[email protected]>
* clover: Avoid warnings from references to deprecated CL 1.1 APIs.Francisco Jerez2014-04-291-0/+2
| | | | Acked-by: Tom Stellard <[email protected]>
* clover: Fix typo in validate_object()Tom Stellard2014-03-211-1/+1
| | | | Reviewed-by: Francisco Jerez <[email protected]>
* clover: Fix region size error checking in some buffer transfer commands.Francisco Jerez2014-03-181-5/+16
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Unabbreviate a few data accessor names for consistency.Francisco Jerez2014-02-214-12/+12
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Replace the transfer(new ...) idiom with a safer create(...) helper ↵Francisco Jerez2014-02-214-36/+35
| | | | | | function. Tested-by: Tom Stellard <[email protected]>
* clover: Migrate a bunch of pointers and references in the object tree to ↵Francisco Jerez2014-02-217-35/+35
| | | | | | smart references. Tested-by: Tom Stellard <[email protected]>
* clover: Some improvements for the intrusive pointer class.Francisco Jerez2014-02-211-4/+4
| | | | | | | | Define some additional convenience operators, clean up the implementation slightly, and rename it to 'intrusive_ptr' for reasons that will be obvious in the next commit. Tested-by: Tom Stellard <[email protected]>