def create_pssm_buffer(self):
        """
        Create the depth buffer
        The depth buffer is the concatenation of num_splits shadow maps
        Returns: NOne

        """
        self.depth_tex = Texture("PSSMShadowMap")
        self.depth_tex.setFormat(Texture.FDepthComponent)
        self.depth_tex.setMinfilter(SamplerState.FTShadow)
        self.depth_tex.setMagfilter(SamplerState.FTShadow)
        self.buffer = self.create_render_buffer(self.split_resolution * self.num_splits, self.split_resolution, 32)

        # Remove all unused display regions
        self.buffer.remove_all_display_regions()
        self.buffer.get_display_region(0).set_active(False)
        self.buffer.disable_clears()

        # Set a clear on the buffer instead on all regions
        self.buffer.set_clear_depth(1)
        self.buffer.set_clear_depth_active(True)

        # Prepare the display regions, one for each split
        for i in range(self.num_splits):
            region = self.buffer.make_display_region(
                i / self.num_splits, i / self.num_splits + 1 / self.num_splits, 0, 1
            )
            region.set_sort(25 + i)
            # Clears are done on the buffer
            region.disable_clears()
            region.set_active(True)
            self.split_regions.append(region)

        Create the depth buffer
        The depth buffer is the concatenation of num_splits shadow maps
        Returns: NOne

        
metadrive/engine/core/pssm.py