mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-19 06:24:51 +08:00
fix: invalidate texture cache before reading from image
Related-To: NEO-9004 Signed-off-by: Szymon Morek <szymon.morek@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
1b5519a880
commit
73ad369b10
@@ -998,6 +998,8 @@ bool CommandQueue::isTextureCacheFlushNeeded(uint32_t commandType) const {
|
||||
case CL_COMMAND_COPY_IMAGE:
|
||||
case CL_COMMAND_WRITE_IMAGE:
|
||||
case CL_COMMAND_FILL_IMAGE:
|
||||
case CL_COMMAND_READ_IMAGE:
|
||||
case CL_COMMAND_COPY_IMAGE_TO_BUFFER:
|
||||
return getGpgpuCommandStreamReceiver().isDirectSubmissionEnabled();
|
||||
default:
|
||||
return false;
|
||||
|
||||
@@ -449,10 +449,10 @@ HWTEST_F(CommandQueueCommandStreamTest, WhenCheckIsTextureCacheFlushNeededThenRe
|
||||
MockCommandQueue cmdQ(&context, mockDevice.get(), 0, false);
|
||||
auto &commandStreamReceiver = mockDevice->getUltCommandStreamReceiver<FamilyType>();
|
||||
|
||||
EXPECT_FALSE(cmdQ.isTextureCacheFlushNeeded(CL_COMMAND_COPY_BUFFER_RECT));
|
||||
|
||||
std::set<cl_command_type> typesToFlush = {CL_COMMAND_COPY_IMAGE, CL_COMMAND_WRITE_IMAGE, CL_COMMAND_FILL_IMAGE,
|
||||
CL_COMMAND_READ_IMAGE, CL_COMMAND_COPY_IMAGE_TO_BUFFER};
|
||||
for (auto i = CL_COMMAND_NDRANGE_KERNEL; i < CL_COMMAND_SVM_MIGRATE_MEM; i++) {
|
||||
if (i == CL_COMMAND_COPY_IMAGE || i == CL_COMMAND_WRITE_IMAGE || i == CL_COMMAND_FILL_IMAGE) {
|
||||
if (typesToFlush.find(i) != typesToFlush.end()) {
|
||||
commandStreamReceiver.directSubmissionAvailable = true;
|
||||
EXPECT_TRUE(cmdQ.isTextureCacheFlushNeeded(i));
|
||||
commandStreamReceiver.directSubmissionAvailable = false;
|
||||
|
||||
Reference in New Issue
Block a user