SWDEV-152361 - Fixed writeBuffer, writeBufferRect and copyBufferRect paths for ExternalPhysical memory in GPU backend, so that SDI copy can sync with writeMarker correctly in Linux.
http://ocltc.amd.com/reviews/r/15420/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpublit.cpp#131 edit
SWDEV-154474 - [Task]: TAN Dual Realtime Queue Enhancement For Radeon Rays
- Use the new enum for RT1
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#423 edit
SWDEV-158730 - [CQE OCL][ocltst][WIN] OCLMemoryInfo[1] a sub-test of ocltst oclruntime module is failed
- Update free memory calculation for APU systems. There is still an issue in GSL with multiple alloc/free passes
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#595 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#96 edit
SWDEV-155654 - TDR\BSOD observed while running Nuke Performance Benchmark test on Hawaii Asics.
Need to support the new power-related appprofile parameters for gfx8 ASICs.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuappprofile.cpp#14 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuappprofile.hpp#8 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#592 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#183 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.h#64 edit
SWDEV-79445 - OCL generic changes and code clean-up
- Add reallocation logic for memory dependency. SVM path can send the amount of SVM ptrs over the max size of arguments
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#420 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#105 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.cpp#54 edit
SWDEV-79445 - OCL generic changes and code clean-up
- Following CL#1552596. Make sure virtual GPU is set for the internal allocations before the create() call, since the deferred alloc is disabled.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpublit.cpp#128 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#416 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.hpp#144 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palblit.cpp#22 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#96 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.hpp#51 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocblit.cpp#21 edit
SWDEV-143465 - Stop building static C++ kernels on CI+
Changed legacy HSAIL/AMDIL stack logic:
1. Stop supporting AMDIL on CI+ devices: "AMDIL doesn't support device ..." will be reported.
2. Stop handling OpenCL extension options in RT: if "-x spir" or "-x clc++" option is specified, it wouldn't force legacy AMDIL compiler anymore.
3. Start reporting error on "-legacy" option in HSAIL compiler. If we reach HSAIL compiler, then it means that there are conflicting options. Report them all, possible options are: -frontend=edg, -cl-std=CL2.0 (>= 2.0), -binary_is_spirv.
Already submitted changes in stack logic:
1. Start reporting error for SI devices on HSAIL path.
2. Start handling OpenCL extension options on HSAIL path: report error on "-x spir" or "-x clc++" options.
[testing] http://ocltc.amd.com:8111/viewModification.html?modId=99901&personal=true&tab=vcsModificationBuilds
[reviewed] by Stas and German: http://ocltc.amd.com/reviews/r/14270
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/common/v0_8/if_acl.cpp#11 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#99 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#586 edit
SWDEV-147487 - DX9/DX11 texture and OpenCL interop for YUY2
- Enable YUY2 support for DX11 and DX9. YUY2 contains just one plane of interleaved Y0UY1V components and can be mapped to (CL_RGBA, CL_UNSIGNED_INT8) with image width reduced by 2. YUY2 provides better quality due to 16bit data per pixel
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_d3d11.cpp#23 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_d3d9.cpp#33 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuresource.cpp#241 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palresource.cpp#49 edit
SWDEV-145716 - dGMA via OpenCL not working properly on AMD EPYC Ethanol platform with two WX9100/W9100s
- Add a stall and cache flushes before a barrier write in GSL and PAL
- Place temporary workarounds for CP prefetch of WRITE_DATA and the lack of SDMA marker in PAL
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#414 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#76 edit
SWDEV-143465 - Revert of #1516121
[Reason]
A plenty of tests are failed.
After the changing stack logic a lot of tests should be fixed, a lot - to be removed from testing.
#1516121 will be submitted again after renewal/removal of all the failed tests.
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/common/v0_8/if_acl.cpp#10 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#98 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#583 edit
SWDEV-143465 - Stop building static C++ kernels on CI+
Changed stack logic:
1. Stop supporting AMDIL on CI+ devices: "AMDIL doesn't support device ..." will be reported.
2. Stop handling OpenCL extension options in RT: if "-x spir" or "-x clc++" option is specified, it wouldn't force legacy AMDIL compiler anymore.
3. Start reporting error on "-legacy" option in HSAIL compiler. If we reach HSAIL compiler, then it means that there are conflicting options. Report them all, possible options are: -frontend=edg, -cl-std=CL2.0 (>= 2.0), -binary_is_spirv.
Already submitted changes in stack logic:
1. Start reporting error for SI devices on HSAIL path.
2. Start handling OpenCL extension options on HSAIL path: report error on "-x spir" or "-x clc++" options.
[Testing]
rga offline for all the targets supported by HSAIL and AMDIL (from Family_SI up to Family_VI):
tahiti, pitcairn, capeverde, spectre, spooky, kalindi, hawaii, oland, bonaire, hainan, carrizo, iceland, tonga, fiji, stoney, baffin, ellesmere.
[Reviewed] by German and Stas (http://ocltc.amd.com/reviews/r/14270)
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/common/v0_8/if_acl.cpp#9 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#97 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#582 edit
SWDEV-142271 - Performance drop is observed in Ocean Surface Simulation of Compubenchcl in 17.50 when compared to 17.Q4.1
- Rewrite the adaptive mode for waveliimiter. Make sure the performance feedback corresponds to the right wave count. Add the new sampling logic to find the best number, based on average performance.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#295 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuwavelimiter.cpp#14 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuwavelimiter.hpp#10 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.hpp#15 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#71 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.hpp#39 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palwavelimiter.cpp#4 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palwavelimiter.hpp#5 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/command.cpp#80 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/command.hpp#88 edit
... //depot/stg/opencl/drivers/opencl/runtime/utils/flags.hpp#282 edit
SWDEV-116219 - Allocating memory on GPU is 2x slower on win10 RS than on win7
- Fix failures on Win7 32 bit after extending resource cache size. Disable SVM region reservation for 32 bits, since OCL2.0 is disabled for 32bit.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#581 edit
SWDEV-116219 - Allocating memory on GPU is 2x slower on win10 RS than on win7
- Remove 512MB limit for resource cache to avoid expensive KMD memory allocations in Win10 RS
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp#358 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.cpp#40 edit
SWDEV-135647 - Runtime should not assert on invalid printf
- Replace the asserts for invalid printf index with an error.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprintf.cpp#45 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprintf.cpp#6 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprintf.cpp#9 edit
SWDEV-133851 - [CQE OCL][1.2][LNX-PRO] A subtest from OCLcompiler is failing due to faulty cl#1458879
- If pinning failed and allocation was forced to system memory, then copy the original data
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#577 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#64 edit
SWDEV-111439 - Add query for preferred constant size
- fixed a mistake of using 64KiB for the size, which should be 16KiB.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#576 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#62 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#63 edit
SWDEV-129129 - [[CQE OCL][Vega vs Fiji] Upto 12% Performance drop observed on VEGA10 compared to FIJI while running BlackMagic Davinci Resolve
More benchmark tuning:
- Keep system memory locked in the resource cache. That removes huge amount of lock/unlock calls to OS due to the resource creation and destruciton
- Reduce the command buffer size to 256 commands and incrrease the amount of CBs to 16
- Increase the amount of resident resources to 2048
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#574 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palmemory.cpp#17 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palresource.cpp#37 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#58 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.hpp#31 edit
SWDEV-130808 - set the local sizes to preferredWorkGroupSize_ when clEnqueueNDRange is not given and the kernel does not have required workgroup sizes.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#320 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#411 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.cpp#36 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#56 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rockernel.cpp#26 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.cpp#43 edit
SWDEV-122517 - DVR toolbar and timer are corrupted when recording in fullscreen with portrait oriented monitors using Eyefinity.
Fixed by obtaining the rotation information from OGL driver and set tha displayable attribute accordingly. (For OCL RT changes)
- fix the type casting issue that causes build error
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDeviceGL.cpp#31 edit
SWDEV-122517 - DVR toolbar and timer are corrupted when recording in fullscreen with portrait oriented monitors using Eyefinity.
Fixed by obtaining the rotation information from OGL driver and set tha displayable attribute accordingly. (For OCL RT changes)
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDeviceGL.cpp#30 edit