From b49ba8ed9cb5a1332c12f0f41912beea3938fabe Mon Sep 17 00:00:00 2001 From: Almar Klein Date: Mon, 9 Sep 2024 15:27:22 +0200 Subject: [PATCH] revert storing pass encoders --- tests_mem/test_objects.py | 1 + wgpu/backends/wgpu_native/_api.py | 14 +++++++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/tests_mem/test_objects.py b/tests_mem/test_objects.py index ba199319..6aee8068 100644 --- a/tests_mem/test_objects.py +++ b/tests_mem/test_objects.py @@ -146,6 +146,7 @@ def test_release_compute_pass_encoder(n): pass_encoder = command_encoder.begin_compute_pass() yield pass_encoder pass_encoder.end() + del pass_encoder @create_and_release diff --git a/wgpu/backends/wgpu_native/_api.py b/wgpu/backends/wgpu_native/_api.py index 3edb0329..8c7f14d2 100644 --- a/wgpu/backends/wgpu_native/_api.py +++ b/wgpu/backends/wgpu_native/_api.py @@ -2354,7 +2354,7 @@ class GPUCommandEncoder( def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self._pass_encoders = [] + # self._pass_encoders = [] def begin_compute_pass( self, *, label="", timestamp_writes: "structs.ComputePassTimestampWrites" = None @@ -2383,7 +2383,7 @@ def begin_compute_pass( # H: WGPUComputePassEncoder f(WGPUCommandEncoder commandEncoder, WGPUComputePassDescriptor const * descriptor) raw_encoder = libf.wgpuCommandEncoderBeginComputePass(self._internal, struct) encoder = GPUComputePassEncoder(label, raw_encoder, self) - self._pass_encoders.append(encoder) + # self._pass_encoders.append(encoder) return encoder def begin_render_pass( @@ -2499,7 +2499,7 @@ def begin_render_pass( raw_encoder = libf.wgpuCommandEncoderBeginRenderPass(self._internal, struct) encoder = GPURenderPassEncoder(label, raw_encoder, self) encoder._objects_to_keep_alive = objects_to_keep_alive - self._pass_encoders.append(encoder) + # self._pass_encoders.append(encoder) return encoder def clear_buffer(self, buffer, offset=0, size=None): @@ -2727,10 +2727,10 @@ def copy_texture_to_texture(self, source, destination, copy_size): def finish(self, *, label=""): # Check that all pass encoders are ended, to prevent locking - for encoder in self._pass_encoders: - if not encoder._ended: - raise RuntimeError("Pass encoders must be ended before finnish()") - self._pass_encoders = [] + # for encoder in self._pass_encoders: + # if not encoder._ended: + # raise RuntimeError("Pass encoders must be ended before finnish()") + # self._pass_encoders = [] # H: nextInChain: WGPUChainedStruct *, label: char * struct = new_struct_p(