mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-29 17:13:29 +08:00
Implement cl_khr_mipmap_image [2/n]
- Add mipmap handling for clEnqueueCopyImage - Add mipmap handling for clEnqueueCopyImageToBuffer - Add mipmap handling for clEnqueueCopyBufferToImage - Fix typos Change-Id: Ie1a23b1699135afa17fe11bcba3c1e8bdf9a3dd9
This commit is contained in:
committed by
sys_ocldev
parent
c4c75e542e
commit
ce2f1468b7
@@ -26,6 +26,7 @@
|
||||
#include "runtime/command_stream/command_stream_receiver.h"
|
||||
#include "runtime/helpers/surface_formats.h"
|
||||
#include "runtime/helpers/kernel_commands.h"
|
||||
#include "runtime/helpers/mipmap.h"
|
||||
#include "runtime/mem_obj/buffer.h"
|
||||
#include "runtime/mem_obj/image.h"
|
||||
#include "runtime/memory_manager/surface.h"
|
||||
@@ -61,6 +62,9 @@ cl_int CommandQueueHw<GfxFamily>::enqueueCopyBufferToImage(
|
||||
dc.srcOffset = {srcOffset, 0, 0};
|
||||
dc.dstOffset = dstOrigin;
|
||||
dc.size = region;
|
||||
if (dstImage->getImageDesc().num_mip_levels > 0) {
|
||||
dc.dstMipLevel = findMipLevel(dstImage->getImageDesc().image_type, dstOrigin);
|
||||
}
|
||||
builder.buildDispatchInfos(di, dc);
|
||||
|
||||
enqueueHandler<CL_COMMAND_COPY_BUFFER_TO_IMAGE>(
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "runtime/command_stream/command_stream_receiver.h"
|
||||
#include "runtime/helpers/kernel_commands.h"
|
||||
#include "runtime/helpers/basic_math.h"
|
||||
#include "runtime/helpers/mipmap.h"
|
||||
#include "runtime/mem_obj/image.h"
|
||||
#include "runtime/memory_manager/surface.h"
|
||||
#include <algorithm>
|
||||
@@ -61,6 +62,12 @@ cl_int CommandQueueHw<GfxFamily>::enqueueCopyImage(
|
||||
dc.srcOffset = srcOrigin;
|
||||
dc.dstOffset = dstOrigin;
|
||||
dc.size = region;
|
||||
if (srcImage->getImageDesc().num_mip_levels > 0) {
|
||||
dc.srcMipLevel = findMipLevel(srcImage->getImageDesc().image_type, srcOrigin);
|
||||
}
|
||||
if (dstImage->getImageDesc().num_mip_levels > 0) {
|
||||
dc.dstMipLevel = findMipLevel(dstImage->getImageDesc().image_type, dstOrigin);
|
||||
}
|
||||
builder.buildDispatchInfos(di, dc);
|
||||
|
||||
enqueueHandler<CL_COMMAND_COPY_IMAGE>(
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
#include "runtime/command_stream/command_stream_receiver.h"
|
||||
#include "runtime/helpers/surface_formats.h"
|
||||
#include "runtime/helpers/kernel_commands.h"
|
||||
#include "runtime/helpers/mipmap.h"
|
||||
#include "runtime/mem_obj/buffer.h"
|
||||
#include "runtime/mem_obj/image.h"
|
||||
#include "runtime/memory_manager/surface.h"
|
||||
@@ -61,6 +62,9 @@ cl_int CommandQueueHw<GfxFamily>::enqueueCopyImageToBuffer(
|
||||
dc.srcOffset = srcOrigin;
|
||||
dc.dstOffset = {dstOffset, 0, 0};
|
||||
dc.size = region;
|
||||
if (srcImage->getImageDesc().num_mip_levels > 0) {
|
||||
dc.srcMipLevel = findMipLevel(srcImage->getImageDesc().image_type, srcOrigin);
|
||||
}
|
||||
builder.buildDispatchInfos(di, dc);
|
||||
|
||||
enqueueHandler<CL_COMMAND_COPY_IMAGE_TO_BUFFER>(
|
||||
|
||||
Reference in New Issue
Block a user